{
  "compiler": {
    "version": "0.8.27+commit.40a35a09"
  },
  "language": "Solidity",
  "output": {
    "abi": [
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address",
            "name": "",
            "type": "address",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_address",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "uint256[]",
            "name": "val",
            "type": "uint256[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "int256[]",
            "name": "val",
            "type": "int256[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "address[]",
            "name": "val",
            "type": "address[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "bytes",
            "name": "",
            "type": "bytes",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_bytes",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "bytes32",
            "name": "",
            "type": "bytes32",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_bytes32",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "int256",
            "name": "",
            "type": "int256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_int",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "address",
            "name": "val",
            "type": "address",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_address",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "uint256[]",
            "name": "val",
            "type": "uint256[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "int256[]",
            "name": "val",
            "type": "int256[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "address[]",
            "name": "val",
            "type": "address[]",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_array",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "bytes",
            "name": "val",
            "type": "bytes",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_bytes",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "bytes32",
            "name": "val",
            "type": "bytes32",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_bytes32",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "int256",
            "name": "val",
            "type": "int256",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "decimals",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_decimal_int",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "val",
            "type": "uint256",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "decimals",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_decimal_uint",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "int256",
            "name": "val",
            "type": "int256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_int",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "string",
            "name": "val",
            "type": "string",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_string",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "key",
            "type": "string",
            "indexed": false
          },
          {
            "internalType": "uint256",
            "name": "val",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_named_uint",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "string",
            "name": "",
            "type": "string",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_string",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "uint256",
            "name": "",
            "type": "uint256",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "log_uint",
        "anonymous": false
      },
      {
        "inputs": [
          {
            "internalType": "bytes",
            "name": "",
            "type": "bytes",
            "indexed": false
          }
        ],
        "type": "event",
        "name": "logs",
        "anonymous": false
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "IS_TEST",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "excludeArtifacts",
        "outputs": [
          {
            "internalType": "string[]",
            "name": "excludedArtifacts_",
            "type": "string[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "excludeContracts",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "excludedContracts_",
            "type": "address[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "excludeSelectors",
        "outputs": [
          {
            "internalType": "struct StdInvariant.FuzzSelector[]",
            "name": "excludedSelectors_",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "address",
                "name": "addr",
                "type": "address"
              },
              {
                "internalType": "bytes4[]",
                "name": "selectors",
                "type": "bytes4[]"
              }
            ]
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "excludeSenders",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "excludedSenders_",
            "type": "address[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "failed",
        "outputs": [
          {
            "internalType": "bool",
            "name": "",
            "type": "bool"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetArtifactSelectors",
        "outputs": [
          {
            "internalType": "struct StdInvariant.FuzzArtifactSelector[]",
            "name": "targetedArtifactSelectors_",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "string",
                "name": "artifact",
                "type": "string"
              },
              {
                "internalType": "bytes4[]",
                "name": "selectors",
                "type": "bytes4[]"
              }
            ]
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetArtifacts",
        "outputs": [
          {
            "internalType": "string[]",
            "name": "targetedArtifacts_",
            "type": "string[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetContracts",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "targetedContracts_",
            "type": "address[]"
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetInterfaces",
        "outputs": [
          {
            "internalType": "struct StdInvariant.FuzzInterface[]",
            "name": "targetedInterfaces_",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "address",
                "name": "addr",
                "type": "address"
              },
              {
                "internalType": "string[]",
                "name": "artifacts",
                "type": "string[]"
              }
            ]
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetSelectors",
        "outputs": [
          {
            "internalType": "struct StdInvariant.FuzzSelector[]",
            "name": "targetedSelectors_",
            "type": "tuple[]",
            "components": [
              {
                "internalType": "address",
                "name": "addr",
                "type": "address"
              },
              {
                "internalType": "bytes4[]",
                "name": "selectors",
                "type": "bytes4[]"
              }
            ]
          }
        ]
      },
      {
        "inputs": [],
        "stateMutability": "view",
        "type": "function",
        "name": "targetSenders",
        "outputs": [
          {
            "internalType": "address[]",
            "name": "targetedSenders_",
            "type": "address[]"
          }
        ]
      }
    ],
    "devdoc": {
      "kind": "dev",
      "methods": {},
      "version": 1
    },
    "userdoc": {
      "kind": "user",
      "methods": {},
      "version": 1
    }
  },
  "settings": {
    "remappings": [
      "@openzeppelin/=node_modules/@openzeppelin/",
      "eth-gas-reporter/=node_modules/eth-gas-reporter/",
      "forge-std/=lib/forge-std/src/",
      "hardhat/=node_modules/hardhat/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 10000
    },
    "metadata": {
      "bytecodeHash": "ipfs"
    },
    "compilationTarget": {
      "lib/forge-std/src/Test.sol": "Test"
    },
    "evmVersion": "cancun",
    "libraries": {},
    "viaIR": true
  },
  "sources": {
    "lib/forge-std/src/Base.sol": {
      "keccak256": "0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c",
      "urls": [
        "bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224",
        "dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdAssertions.sol": {
      "keccak256": "0x4584f551c3a875c26423c1e50a77179bc2f9c9c1ee6d0f0c6be0f89ca5ee8270",
      "urls": [
        "bzz-raw://ef118876a862b60ba8a6612b8b3f3a6c226e11a0071a2e9695f021586d1bfdbe",
        "dweb:/ipfs/QmXd2vD91PkvoFWasFkgbDi89PctmgsHVxGvGNyhjmRK2b"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdChains.sol": {
      "keccak256": "0xcd3e64ec9ffa19a2c0715bbdaf7ddf28887cc418e079bec4373fd6a3f9961a7b",
      "urls": [
        "bzz-raw://e981a2ab738590928e9efa5f3d95a408c718eb12d73a113d7675f3ed55a026a1",
        "dweb:/ipfs/QmTgSEkWWsBRy32goRCaUkraSgpZHtgbZoKC3iEFNz5RDc"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdCheats.sol": {
      "keccak256": "0x0fa6ec03602648b62cce41aab2096e6b7e052f2846075d967b6958dd586db746",
      "urls": [
        "bzz-raw://cd84e2ca9c1eaed6b76768cc12bb8c1af8289170ea8b7706f58d516460d79c41",
        "dweb:/ipfs/QmQ7BK7co6DE4eWUqMyv11s5eHYkS1tyx8tDSZGZVtf2aK"
      ],
      "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": "0x4dab3021edfa9511bbdd80c48f060ef62eaf457f99eaf841f561fc2557d9a08d",
      "urls": [
        "bzz-raw://07668628673174cf8f27f8f4e1f862bab775013ec247eb34f698c5005f229391",
        "dweb:/ipfs/QmPJsiiYwmCZXMsHmQv5tg8VF3CAhNdat7WnKLTWZZH2v5"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdJson.sol": {
      "keccak256": "0xbc0132abe1c2accc2867c0f03667afffdf92f3e95a581bb03c9557eaa38ea500",
      "urls": [
        "bzz-raw://eb6fab37dc73c219cfbb7b4f4998bcf7677ca5397a867e850f40232192073974",
        "dweb:/ipfs/QmUHsbVdp9SKmgek7ZfPcLTKrpZFXpqaqt4sVejzxGEQL3"
      ],
      "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": "0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc",
      "urls": [
        "bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57",
        "dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdStyle.sol": {
      "keccak256": "0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d",
      "urls": [
        "bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8",
        "dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdToml.sol": {
      "keccak256": "0x58a72c765ed3f7ff6b105509689658795b8a3739b8931772a497155878381861",
      "urls": [
        "bzz-raw://b4a3746f4fabaeb980bd77d9e091d3904ee38a6c0e191bfa8ba6874c6f8558a3",
        "dweb:/ipfs/QmUfFDMEn461FgGEXt5HicyGD54sc28sLaQ9JRWDMBKed8"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/StdUtils.sol": {
      "keccak256": "0x4a5853bb9688c4e1c65626036cddd8ea2af84ef1046b704ddc3782d84a892410",
      "urls": [
        "bzz-raw://09c1024e6aac9657312fcfcf5c3dee62c22edf9f74a1065e6924c4ec710ecafa",
        "dweb:/ipfs/QmRNURoTUkd6DiZnf8yY8o3stJpVQBifopdSpQgP9RhvRr"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/Test.sol": {
      "keccak256": "0x3b4bb409a156dee9ce261458117fe9f81080ca844a8a26c07c857c46d155effe",
      "urls": [
        "bzz-raw://5792c69fe24bdc063a14e08fe68275007fdb1e5e7e343840a77938cb7e95a64e",
        "dweb:/ipfs/QmcAMhaurUwzhytJFYix4vRNeZeV8g27b8LnV3t7dvYtiK"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/Vm.sol": {
      "keccak256": "0xd7a115278b44e47816b2a9a5cea14b3c3f574182e289b29f98d5e2d0911ccae6",
      "urls": [
        "bzz-raw://18c07088a04c9669c5eb6f2050bb944daba75603a97c1a03752d594f587cf1a4",
        "dweb:/ipfs/QmbzjH83hquj5uodqahA5YRW972PDnhtVu6cEu9YjAfVHH"
      ],
      "license": "MIT OR Apache-2.0"
    },
    "lib/forge-std/src/console.sol": {
      "keccak256": "0x4bbf47eb762cef93729d6ef15e78789957147039b113e5d4df48e3d3fd16d0f5",
      "urls": [
        "bzz-raw://af9e3a7c3d82fb5b10b57ca4d1a82f2acbef80c077f6f6ef0cc0187c7bfd9f57",
        "dweb:/ipfs/QmR9VzmnBDJpgiDP6CHT6truehukF9HpYvuP6kRiJbDwPP"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/console2.sol": {
      "keccak256": "0x3b8fe79f48f065a4e4d35362171304a33784c3a90febae5f2787805a438de12f",
      "urls": [
        "bzz-raw://61de63af08803549299e68b6e6e88d40f3c5afac450e4ee0a228c66a61ba003d",
        "dweb:/ipfs/QmWVoQ5rrVxnczD4ZZoPbD4PC9Z3uExJtzjD4awTqd14MZ"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/interfaces/IERC165.sol": {
      "keccak256": "0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600",
      "urls": [
        "bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc",
        "dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/interfaces/IERC20.sol": {
      "keccak256": "0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947",
      "urls": [
        "bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7",
        "dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/interfaces/IERC721.sol": {
      "keccak256": "0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15",
      "urls": [
        "bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f",
        "dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/interfaces/IMulticall3.sol": {
      "keccak256": "0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a",
      "urls": [
        "bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0",
        "dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/mocks/MockERC20.sol": {
      "keccak256": "0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b",
      "urls": [
        "bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f",
        "dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/mocks/MockERC721.sol": {
      "keccak256": "0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9",
      "urls": [
        "bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87",
        "dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv"
      ],
      "license": "MIT"
    },
    "lib/forge-std/src/safeconsole.sol": {
      "keccak256": "0xbef9786cb49d3eade757bad87568c49c8c8f35721f0193c95ffb055d9e466e11",
      "urls": [
        "bzz-raw://3bafd2b0b2d28068d329f95ea8a1fbce3719c257fcb863fc01abcbafd8d531ab",
        "dweb:/ipfs/QmUeaFjKWTVDBsHVfSob4mwt6A5hTnKDz22HaUXeZhypa3"
      ],
      "license": "MIT"
    }
  },
  "version": 1
}