@aztec/l1-artifacts 0.0.1-commit.f146247c → 0.0.1-commit.f1df4d2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dest/HonkVerifierBytecode.d.ts +2 -2
  2. package/dest/HonkVerifierBytecode.d.ts.map +1 -1
  3. package/dest/HonkVerifierBytecode.js +1 -1
  4. package/l1-contracts/cache/solidity-files-cache.json +1 -1
  5. package/l1-contracts/foundry.toml +1 -1
  6. package/l1-contracts/generated/HonkVerifier.sol +65 -70
  7. package/l1-contracts/out/CoinIssuer.sol/CoinIssuer.json +1 -1
  8. package/l1-contracts/out/DateGatedRelayer.sol/DateGatedRelayer.json +1 -1
  9. package/l1-contracts/out/DeployAztecL1Contracts.s.sol/DeployAztecL1Contracts.json +1 -1
  10. package/l1-contracts/out/DeployAztecL1Contracts.t.sol/DeployAztecL1ContractsTest.json +1 -1
  11. package/l1-contracts/out/DeployRollupForUpgrade.s.sol/DeployRollupForUpgrade.json +1 -1
  12. package/l1-contracts/out/DeployRollupForUpgrade.t.sol/DeployRollupForUpgradeTest.json +1 -1
  13. package/l1-contracts/out/DeployRollupLib.sol/DeployRollupLib.json +1 -1
  14. package/l1-contracts/out/DeploymentConfiguration.sol/DeploymentConfiguration.json +1 -1
  15. package/l1-contracts/out/FeeAssetHandler.sol/FeeAssetHandler.json +1 -1
  16. package/l1-contracts/out/FlushRewarder.sol/FlushRewarder.json +1 -1
  17. package/l1-contracts/out/HonkVerifier.sol/BaseHonkVerifier.json +1 -1
  18. package/l1-contracts/out/HonkVerifier.sol/CommitmentSchemeLib.json +1 -1
  19. package/l1-contracts/out/HonkVerifier.sol/FrLib.json +1 -1
  20. package/l1-contracts/out/HonkVerifier.sol/Honk.json +1 -1
  21. package/l1-contracts/out/HonkVerifier.sol/HonkVerificationKey.json +1 -1
  22. package/l1-contracts/out/HonkVerifier.sol/HonkVerifier.json +1 -1
  23. package/l1-contracts/out/HonkVerifier.sol/IVerifier.json +1 -1
  24. package/l1-contracts/out/HonkVerifier.sol/RelationsLib.json +1 -1
  25. package/l1-contracts/out/HonkVerifier.sol/TranscriptLib.json +1 -1
  26. package/l1-contracts/out/IDateGatedRelayer.sol/IDateGatedRelayer.json +1 -1
  27. package/l1-contracts/out/IFlushRewarder.sol/IFlushRewarder.json +1 -1
  28. package/l1-contracts/out/IMintableERC20.sol/IMintableERC20.json +1 -1
  29. package/l1-contracts/out/ISlashFactory.sol/ISlashFactory.json +1 -1
  30. package/l1-contracts/out/InputsExtractor.sol/InputsExtractor.json +1 -1
  31. package/l1-contracts/out/MockERC20.sol/MockERC20.json +1 -1
  32. package/l1-contracts/out/MockERC721.sol/MockERC721.json +1 -1
  33. package/l1-contracts/out/MockFeeJuicePortal.sol/MockFeeJuicePortal.json +1 -1
  34. package/l1-contracts/out/MockVerifier.sol/MockVerifier.json +1 -1
  35. package/l1-contracts/out/MockZKPassportVerifier.sol/MockZKPassportVerifier.json +1 -1
  36. package/l1-contracts/out/MultiAdder.sol/MultiAdder.json +1 -1
  37. package/l1-contracts/out/RegisterNewRollupVersionPayload.sol/RegisterNewRollupVersionPayload.json +1 -1
  38. package/l1-contracts/out/Registry.sol/Registry.json +1 -1
  39. package/l1-contracts/out/RewardDistributor.sol/RewardDistributor.json +1 -1
  40. package/l1-contracts/out/RollupConfiguration.sol/RollupConfiguration.json +1 -1
  41. package/l1-contracts/out/SlashFactory.sol/SlashFactory.json +1 -1
  42. package/l1-contracts/out/SlashPayload.sol/SlashPayload.json +1 -1
  43. package/l1-contracts/out/StakingAssetHandler.sol/StakingAssetHandler.json +1 -1
  44. package/l1-contracts/out/StdError.sol/stdError.json +1 -1
  45. package/l1-contracts/out/TestERC20.sol/TestERC20.json +1 -1
  46. package/l1-contracts/out/ZKPassportHelper.sol/ZKPassportHelper.json +1 -1
  47. package/l1-contracts/out/ZKPassportRootVerifier.sol/ZKPassportRootVerifier.json +1 -1
  48. package/l1-contracts/out/ZKPassportSubVerifier.sol/ZKPassportSubVerifier.json +1 -1
  49. package/l1-contracts/out/build-info/{bcca871da7c17f8e.json → 6b707081690bc1a6.json} +1 -1
  50. package/l1-contracts/out/build-info/{33d81a4b1b05e4ba.json → 8103921c6e825236.json} +1 -1
  51. package/l1-contracts/out/shouting.t.sol/ScreamAndShoutTest.json +1 -1
  52. package/l1-contracts/script/deploy/DeployRollupForUpgrade.s.sol +17 -1
  53. package/l1-contracts/test/script/DeployAztecL1Contracts.t.sol +61 -0
  54. package/l1-contracts/test/script/DeployRollupForUpgrade.t.sol +112 -0
  55. package/package.json +1 -1
  56. package/l1-contracts/solc-0.8.30 +0 -0
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"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":"owner","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":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"0x6080604052348015600e575f5ffd5b50610e168061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100cb575f3560e01c80633644e5151161008857806395d89b411161006357806395d89b41146101ae578063a9059cbb146101b6578063d505accf146101c9578063dd62ed3e146101dc575f5ffd5b80633644e5151461015f57806370a08231146101675780637ecebe001461018f575f5ffd5b806306fdde03146100cf578063095ea7b3146100ed5780631624f6c61461011057806318160ddd1461012557806323b872dd14610137578063313ce5671461014a575b5f5ffd5b6100d7610214565b6040516100e49190610959565b60405180910390f35b6101006100fb3660046109a9565b6102a3565b60405190151581526020016100e4565b61012361011e366004610a80565b61030f565b005b6003545b6040519081526020016100e4565b610100610145366004610af4565b6103ad565b60025460405160ff90911681526020016100e4565b6101296104bc565b610129610175366004610b2e565b6001600160a01b03165f9081526004602052604090205490565b61012961019d366004610b2e565b60086020525f908152604090205481565b6100d76104e1565b6101006101c43660046109a9565b6104f0565b6101236101d7366004610b47565b610584565b6101296101ea366004610bad565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b60605f805461022290610bde565b80601f016020809104026020016040519081016040528092919081815260200182805461024e90610bde565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102fd9086815260200190565b60405180910390a35060015b92915050565b60095460ff161561035d5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b5f6103688482610c62565b5060016103758382610c62565b506002805460ff191660ff831617905561038d6107dc565b6006556103986107f4565b60075550506009805460ff1916600117905550565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f198114610406576103e28184610895565b6001600160a01b0386165f9081526005602090815260408083203384529091529020555b6001600160a01b0385165f908152600460205260409020546104289084610895565b6001600160a01b038087165f90815260046020526040808220939093559086168152205461045690846108f7565b6001600160a01b038086165f8181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a99087815260200190565b60405180910390a3506001949350505050565b5f6006546104c86107dc565b146104da576104d56107f4565b905090565b5060075490565b60606001805461022290610bde565b335f908152600460205260408120546105099083610895565b335f90815260046020526040808220929092556001600160a01b0385168152205461053490836108f7565b6001600160a01b0384165f818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102fd9086815260200190565b428410156105d45760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610354565b5f60016105df6104bc565b6001600160a01b038a165f90815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061062c83610d31565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106a592919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610700573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107365750876001600160a01b0316816001600160a01b0316145b6107735760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610354565b6001600160a01b038181165f9081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b5f610955806107ed63ffffffff8216565b9250505090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516108249190610d49565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108556107dc565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f818310156108e65760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610354565b6108f08284610dba565b9392505050565b5f806109038385610dcd565b9050838110156108f05760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610354565b4690565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146109a4575f5ffd5b919050565b5f5f604083850312156109ba575f5ffd5b6109c38361098e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126109f4575f5ffd5b813567ffffffffffffffff811115610a0e57610a0e6109d1565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610a3d57610a3d6109d1565b604052818152838201602001851015610a54575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff811681146109a4575f5ffd5b5f5f5f60608486031215610a92575f5ffd5b833567ffffffffffffffff811115610aa8575f5ffd5b610ab4868287016109e5565b935050602084013567ffffffffffffffff811115610ad0575f5ffd5b610adc868287016109e5565b925050610aeb60408501610a70565b90509250925092565b5f5f5f60608486031215610b06575f5ffd5b610b0f8461098e565b9250610b1d6020850161098e565b929592945050506040919091013590565b5f60208284031215610b3e575f5ffd5b6108f08261098e565b5f5f5f5f5f5f5f60e0888a031215610b5d575f5ffd5b610b668861098e565b9650610b746020890161098e565b95506040880135945060608801359350610b9060808901610a70565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610bbe575f5ffd5b610bc78361098e565b9150610bd56020840161098e565b90509250929050565b600181811c90821680610bf257607f821691505b602082108103610c1057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c5d57805f5260205f20601f840160051c81016020851015610c3b5750805b601f840160051c820191505b81811015610c5a575f8155600101610c47565b50505b505050565b815167ffffffffffffffff811115610c7c57610c7c6109d1565b610c9081610c8a8454610bde565b84610c16565b6020601f821160018114610cc2575f8315610cab5750848201515b5f19600385901b1c1916600184901b178455610c5a565b5f84815260208120601f198516915b82811015610cf15787850151825560209485019460019092019101610cd1565b5084821015610d0e57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d4257610d42610d1d565b5060010190565b5f5f8354610d5681610bde565b600182168015610d6d5760018114610d8257610daf565b60ff1983168652811515820286019350610daf565b865f5260205f205f5b83811015610da757815488820152600190910190602001610d8b565b505081860193505b509195945050505050565b8181038181111561030957610309610d1d565b8082018082111561030957610309610d1d56fea2646970667358221220fa1971e0fd4fa18ba962826011b1abc08ff5f30cf77b902cdaf394b7defdfebf64736f6c634300081e0033","sourceMap":"369:7950:32:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106100cb575f3560e01c80633644e5151161008857806395d89b411161006357806395d89b41146101ae578063a9059cbb146101b6578063d505accf146101c9578063dd62ed3e146101dc575f5ffd5b80633644e5151461015f57806370a08231146101675780637ecebe001461018f575f5ffd5b806306fdde03146100cf578063095ea7b3146100ed5780631624f6c61461011057806318160ddd1461012557806323b872dd14610137578063313ce5671461014a575b5f5ffd5b6100d7610214565b6040516100e49190610959565b60405180910390f35b6101006100fb3660046109a9565b6102a3565b60405190151581526020016100e4565b61012361011e366004610a80565b61030f565b005b6003545b6040519081526020016100e4565b610100610145366004610af4565b6103ad565b60025460405160ff90911681526020016100e4565b6101296104bc565b610129610175366004610b2e565b6001600160a01b03165f9081526004602052604090205490565b61012961019d366004610b2e565b60086020525f908152604090205481565b6100d76104e1565b6101006101c43660046109a9565b6104f0565b6101236101d7366004610b47565b610584565b6101296101ea366004610bad565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b60605f805461022290610bde565b80601f016020809104026020016040519081016040528092919081815260200182805461024e90610bde565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102fd9086815260200190565b60405180910390a35060015b92915050565b60095460ff161561035d5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b5f6103688482610c62565b5060016103758382610c62565b506002805460ff191660ff831617905561038d6107dc565b6006556103986107f4565b60075550506009805460ff1916600117905550565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f198114610406576103e28184610895565b6001600160a01b0386165f9081526005602090815260408083203384529091529020555b6001600160a01b0385165f908152600460205260409020546104289084610895565b6001600160a01b038087165f90815260046020526040808220939093559086168152205461045690846108f7565b6001600160a01b038086165f8181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a99087815260200190565b60405180910390a3506001949350505050565b5f6006546104c86107dc565b146104da576104d56107f4565b905090565b5060075490565b60606001805461022290610bde565b335f908152600460205260408120546105099083610895565b335f90815260046020526040808220929092556001600160a01b0385168152205461053490836108f7565b6001600160a01b0384165f818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102fd9086815260200190565b428410156105d45760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610354565b5f60016105df6104bc565b6001600160a01b038a165f90815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061062c83610d31565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106a592919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610700573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107365750876001600160a01b0316816001600160a01b0316145b6107735760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610354565b6001600160a01b038181165f9081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b5f610955806107ed63ffffffff8216565b9250505090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516108249190610d49565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108556107dc565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f818310156108e65760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610354565b6108f08284610dba565b9392505050565b5f806109038385610dcd565b9050838110156108f05760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610354565b4690565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146109a4575f5ffd5b919050565b5f5f604083850312156109ba575f5ffd5b6109c38361098e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126109f4575f5ffd5b813567ffffffffffffffff811115610a0e57610a0e6109d1565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610a3d57610a3d6109d1565b604052818152838201602001851015610a54575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff811681146109a4575f5ffd5b5f5f5f60608486031215610a92575f5ffd5b833567ffffffffffffffff811115610aa8575f5ffd5b610ab4868287016109e5565b935050602084013567ffffffffffffffff811115610ad0575f5ffd5b610adc868287016109e5565b925050610aeb60408501610a70565b90509250925092565b5f5f5f60608486031215610b06575f5ffd5b610b0f8461098e565b9250610b1d6020850161098e565b929592945050506040919091013590565b5f60208284031215610b3e575f5ffd5b6108f08261098e565b5f5f5f5f5f5f5f60e0888a031215610b5d575f5ffd5b610b668861098e565b9650610b746020890161098e565b95506040880135945060608801359350610b9060808901610a70565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610bbe575f5ffd5b610bc78361098e565b9150610bd56020840161098e565b90509250929050565b600181811c90821680610bf257607f821691505b602082108103610c1057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c5d57805f5260205f20601f840160051c81016020851015610c3b5750805b601f840160051c820191505b81811015610c5a575f8155600101610c47565b50505b505050565b815167ffffffffffffffff811115610c7c57610c7c6109d1565b610c9081610c8a8454610bde565b84610c16565b6020601f821160018114610cc2575f8315610cab5750848201515b5f19600385901b1c1916600184901b178455610c5a565b5f84815260208120601f198516915b82811015610cf15787850151825560209485019460019092019101610cd1565b5084821015610d0e57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d4257610d42610d1d565b5060010190565b5f5f8354610d5681610bde565b600182168015610d6d5760018114610d8257610daf565b60ff1983168652811515820286019350610daf565b865f5260205f205f5b83811015610da757815488820152600190910190602001610d8b565b505081860193505b509195945050505050565b8181038181111561030957610309610d1d565b8082018082111561030957610309610d1d56fea2646970667358221220fa1971e0fd4fa18ba962826011b1abc08ff5f30cf77b902cdaf394b7defdfebf64736f6c634300081e0033","sourceMap":"369:7950:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3057:221;;;;;;:::i;:::-;;:::i;:::-;;;1085:14:172;;1078:22;1060:41;;1048:2;1033:18;3057:221:32;920:187:172;2504:365:32;;;;;;:::i;:::-;;:::i;:::-;;1322:100;1403:12;;1322:100;;;2895:25:172;;;2883:2;2868:18;1322:100:32;2749:177:172;3578:472:32;;;;;;:::i;:::-;;:::i;877:92::-;953:9;;877:92;;953:9;;;;3452:36:172;;3440:2;3425:18;877:92:32;3310:184:172;5427:178:32;;;:::i;1428:116::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1520:17:32;1494:7;1520:17;;;:10;:17;;;;;;;1428:116;1970:41;;;;;;:::i;:::-;;;;;;;;;;;;;;775:96;;;:::i;3284:288::-;;;;;;:::i;:::-;;:::i;4239:1182::-;;;;;;:::i;:::-;;:::i;1550:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1659:17:32;;;1633:7;1659:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;1550:142;677:92;725:13;757:5;750:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;:::o;3057:221::-;3167:10;3140:4;3156:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3156:31:32;;;;;;;;;;:40;;;3212:37;3140:4;;3156:31;;3212:37;;;;3190:6;2895:25:172;;2883:2;2868:18;;2749:177;3212:37:32;;;;;;;;-1:-1:-1;3267:4:32;3057:221;;;;;:::o;2504:365::-;2611:11;;;;2610:12;2602:44;;;;-1:-1:-1;;;2602:44:32;;5537:2:172;2602:44:32;;;5519:21:172;5576:2;5556:18;;;5549:30;-1:-1:-1;;;5595:18:172;;;5588:49;5654:18;;2602:44:32;;;;;;;;;2657:5;:13;2665:5;2657;:13;:::i;:::-;-1:-1:-1;2680:7:32;:17;2690:7;2680;:17;:::i;:::-;-1:-1:-1;2707:9:32;:21;;-1:-1:-1;;2707:21:32;;;;;;;2758:14;:12;:14::i;:::-;2739:16;:33;2809:24;:22;:24::i;:::-;2782;:51;-1:-1:-1;;2844:11:32;:18;;-1:-1:-1;;2844:18:32;2858:4;2844:18;;;-1:-1:-1;2504:365:32:o;3578:472::-;-1:-1:-1;;;;;3709:16:32;;3675:4;3709:16;;;:10;:16;;;;;;;;3726:10;3709:28;;;;;;;;-1:-1:-1;;3788:22:32;;3784:80;;3843:21;3848:7;3857:6;3843:4;:21::i;:::-;-1:-1:-1;;;;;3812:16:32;;;;;;:10;:16;;;;;;;;3829:10;3812:28;;;;;;;:52;3784:80;-1:-1:-1;;;;;3899:16:32;;;;;;:10;:16;;;;;;3894:30;;3917:6;3894:4;:30::i;:::-;-1:-1:-1;;;;;3875:16:32;;;;;;;:10;:16;;;;;;:49;;;;3956:14;;;;;;;3951:28;;3972:6;3951:4;:28::i;:::-;-1:-1:-1;;;;;3934:14:32;;;;;;;:10;:14;;;;;;;:45;;;;3995:26;;;;;;;;;;4014:6;2895:25:172;;2883:2;2868:18;;2749:177;3995:26:32;;;;;;;;-1:-1:-1;4039:4:32;;3578:472;-1:-1:-1;;;;3578:472:32:o;5427:178::-;5484:7;5528:16;;5510:14;:12;:14::i;:::-;:34;:88;;5574:24;:22;:24::i;:::-;5503:95;;5427:178;:::o;5510:88::-;-1:-1:-1;5547:24:32;;;5427:178::o;775:96::-;825:13;857:7;850:14;;;;;:::i;3284:288::-;3420:10;3363:4;3409:22;;;:10;:22;;;;;;3404:36;;3433:6;3404:4;:36::i;:::-;3390:10;3379:22;;;;:10;:22;;;;;;:61;;;;-1:-1:-1;;;;;3472:14:32;;;;;;3467:28;;3488:6;3467:4;:28::i;:::-;-1:-1:-1;;;;;3450:14:32;;;;;;:10;:14;;;;;;;:45;;;;3511:32;;3520:10;;3511:32;;;;3536:6;2895:25:172;;2883:2;2868:18;;2749:177;4239:1182:32;4416:15;4404:8;:27;;4396:63;;;;-1:-1:-1;;;4396:63:32;;8009:2:172;4396:63:32;;;7991:21:172;8048:2;8028:18;;;8021:30;8087:25;8067:18;;;8060:53;8130:18;;4396:63:32;7807:347:172;4396:63:32;4470:24;4497:717;4617:18;:16;:18::i;:::-;-1:-1:-1;;;;;5026:13:32;;;;;;:6;:13;;;;;:15;;4732:157;;4919:5;;4954:7;;4991:5;;5026:15;;:13;:15;;;:::i;:::-;;;;-1:-1:-1;4692:413:32;;;;;;8718:25:172;;;;-1:-1:-1;;;;;8779:32:172;;;8759:18;;;8752:60;8848:32;;;;8828:18;;;8821:60;8897:18;;;8890:34;8940:19;;;8933:35;8984:19;;;8977:35;;;8690:19;;4692:413:32;;;;;;;;;;;;4657:470;;;;;;4547:598;;;;;;;;-1:-1:-1;;;9281:27:172;;9333:1;9324:11;;9317:27;;;;9369:2;9360:12;;9353:28;9406:2;9397:12;;9023:392;4547:598:32;;;;-1:-1:-1;;4547:598:32;;;;;;;;;4520:639;;4547:598;4520:639;;;;4497:717;;;;;;;;;9647:25:172;9720:4;9708:17;;9688:18;;;9681:45;9742:18;;;9735:34;;;9785:18;;;9778:34;;;9619:19;;4497:717:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4497:717:32;;-1:-1:-1;;4497:717:32;;;-1:-1:-1;;;;;;;5233:30:32;;;;;;:59;;;5287:5;-1:-1:-1;;;;;5267:25:32;:16;-1:-1:-1;;;;;5267:25:32;;5233:59;5225:86;;;;-1:-1:-1;;;5225:86:32;;10025:2:172;5225:86:32;;;10007:21:172;10064:2;10044:18;;;10037:30;-1:-1:-1;;;10083:18:172;;;10076:44;10137:18;;5225:86:32;9823:338:172;5225:86:32;-1:-1:-1;;;;;5322:28:32;;;;;;;:10;:28;;;;;;;;:37;;;;;;;;;;;;;:45;;;5383:31;2895:25:172;;;5322:37:32;;5383:31;;;;;2868:18:172;5383:31:32;;;;;;;4386:1035;4239:1182;;;;;;;:::o;8017:300::-;8063:15;8140:12;;8297:13;;;;:::i;:::-;8287:23;;8080:237;;8017:300;:::o;5611:404::-;5676:7;5753:95;5882:5;5866:23;;;;;;:::i;:::-;;;;;;;;5907:14;5939;:12;:14::i;:::-;5725:273;;;;;;11229:25:172;;;;11270:18;;11263:34;;;;11313:18;;;11306:34;11356:18;;;11349:34;5979:4:32;11399:19:172;;;11392:61;11201:19;;5725:273:32;;;;;;;;;;;;5702:306;;;;;;5695:313;;5611:404;:::o;7038:154::-;7097:7;7129:1;7124;:6;;7116:47;;;;-1:-1:-1;;;7116:47:32;;11666:2:172;7116:47:32;;;11648:21:172;11705:2;11685:18;;;11678:30;11744;11724:18;;;11717:58;11792:18;;7116:47:32;11464:352:172;7116:47:32;7180:5;7184:1;7180;:5;:::i;:::-;7173:12;7038:154;-1:-1:-1;;;7038:154:32:o;6859:173::-;6918:7;;6949:5;6953:1;6949;:5;:::i;:::-;6937:17;;6977:1;6972;:6;;6964:43;;;;-1:-1:-1;;;6964:43:32;;12286:2:172;6964:43:32;;;12268:21:172;12325:2;12305:18;;;12298:30;12364:26;12344:18;;;12337:54;12408:18;;6964:43:32;12084:348:172;7735:276:32;7918:9;;7735:276::o;14:418:172:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:173::-;505:20;;-1:-1:-1;;;;;554:31:172;;544:42;;534:70;;600:1;597;590:12;534:70;437:173;;;:::o;615:300::-;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;881:2;866:18;;;;853:32;;-1:-1:-1;;;615:300:172:o;1112:127::-;1173:10;1168:3;1164:20;1161:1;1154:31;1204:4;1201:1;1194:15;1228:4;1225:1;1218:15;1244:726;1287:5;1340:3;1333:4;1325:6;1321:17;1317:27;1307:55;;1358:1;1355;1348:12;1307:55;1398:6;1385:20;1428:18;1420:6;1417:30;1414:56;;;1450:18;;:::i;:::-;1499:2;1493:9;1591:2;1553:17;;-1:-1:-1;;1549:31:172;;;1582:2;1545:40;1541:54;1529:67;;1626:18;1611:34;;1647:22;;;1608:62;1605:88;;;1673:18;;:::i;:::-;1709:2;1702:22;1733;;;1774:19;;;1795:4;1770:30;1767:39;-1:-1:-1;1764:59:172;;;1819:1;1816;1809:12;1764:59;1883:6;1876:4;1868:6;1864:17;1857:4;1849:6;1845:17;1832:58;1938:1;1910:19;;;1931:4;1906:30;1899:41;;;;1914:6;1244:726;-1:-1:-1;;;1244:726:172:o;1975:156::-;2041:20;;2101:4;2090:16;;2080:27;;2070:55;;2121:1;2118;2111:12;2136:608;2231:6;2239;2247;2300:2;2288:9;2279:7;2275:23;2271:32;2268:52;;;2316:1;2313;2306:12;2268:52;2356:9;2343:23;2389:18;2381:6;2378:30;2375:50;;;2421:1;2418;2411:12;2375:50;2444;2486:7;2477:6;2466:9;2462:22;2444:50;:::i;:::-;2434:60;;;2547:2;2536:9;2532:18;2519:32;2576:18;2566:8;2563:32;2560:52;;;2608:1;2605;2598:12;2560:52;2631;2675:7;2664:8;2653:9;2649:24;2631:52;:::i;:::-;2621:62;;;2702:36;2734:2;2723:9;2719:18;2702:36;:::i;:::-;2692:46;;2136:608;;;;;:::o;2931:374::-;3008:6;3016;3024;3077:2;3065:9;3056:7;3052:23;3048:32;3045:52;;;3093:1;3090;3083:12;3045:52;3116:29;3135:9;3116:29;:::i;:::-;3106:39;;3164:38;3198:2;3187:9;3183:18;3164:38;:::i;:::-;2931:374;;3154:48;;-1:-1:-1;;;3271:2:172;3256:18;;;;3243:32;;2931:374::o;3681:186::-;3740:6;3793:2;3781:9;3772:7;3768:23;3764:32;3761:52;;;3809:1;3806;3799:12;3761:52;3832:29;3851:9;3832:29;:::i;3872:808::-;3983:6;3991;3999;4007;4015;4023;4031;4084:3;4072:9;4063:7;4059:23;4055:33;4052:53;;;4101:1;4098;4091:12;4052:53;4124:29;4143:9;4124:29;:::i;:::-;4114:39;;4172:38;4206:2;4195:9;4191:18;4172:38;:::i;:::-;4162:48;-1:-1:-1;4279:2:172;4264:18;;4251:32;;-1:-1:-1;4380:2:172;4365:18;;4352:32;;-1:-1:-1;4429:37:172;4461:3;4446:19;;4429:37;:::i;:::-;3872:808;;;;-1:-1:-1;3872:808:172;;;;4419:47;4539:3;4524:19;;4511:33;;-1:-1:-1;4643:3:172;4628:19;;;4615:33;;3872:808;-1:-1:-1;;3872:808:172:o;4685:260::-;4753:6;4761;4814:2;4802:9;4793:7;4789:23;4785:32;4782:52;;;4830:1;4827;4820:12;4782:52;4853:29;4872:9;4853:29;:::i;:::-;4843:39;;4901:38;4935:2;4924:9;4920:18;4901:38;:::i;:::-;4891:48;;4685:260;;;;;:::o;4950:380::-;5029:1;5025:12;;;;5072;;;5093:61;;5147:4;5139:6;5135:17;5125:27;;5093:61;5200:2;5192:6;5189:14;5169:18;5166:38;5163:161;;5246:10;5241:3;5237:20;5234:1;5227:31;5281:4;5278:1;5271:15;5309:4;5306:1;5299:15;5163:161;;4950:380;;;:::o;5809:518::-;5911:2;5906:3;5903:11;5900:421;;;5947:5;5944:1;5937:16;5991:4;5988:1;5978:18;6061:2;6049:10;6045:19;6042:1;6038:27;6032:4;6028:38;6097:4;6085:10;6082:20;6079:47;;;-1:-1:-1;6120:4:172;6079:47;6175:2;6170:3;6166:12;6163:1;6159:20;6153:4;6149:31;6139:41;;6230:81;6248:2;6241:5;6238:13;6230:81;;;6307:1;6293:16;;6274:1;6263:13;6230:81;;;6234:3;;5900:421;5809:518;;;:::o;6503:1299::-;6629:3;6623:10;6656:18;6648:6;6645:30;6642:56;;;6678:18;;:::i;:::-;6707:97;6797:6;6757:38;6789:4;6783:11;6757:38;:::i;:::-;6751:4;6707:97;:::i;:::-;6853:4;6884:2;6873:14;;6901:1;6896:649;;;;7589:1;7606:6;7603:89;;;-1:-1:-1;7658:19:172;;;7652:26;7603:89;-1:-1:-1;;6460:1:172;6456:11;;;6452:24;6448:29;6438:40;6484:1;6480:11;;;6435:57;7705:81;;6866:930;;6896:649;5756:1;5749:14;;;5793:4;5780:18;;-1:-1:-1;;6932:20:172;;;7050:222;7064:7;7061:1;7058:14;7050:222;;;7146:19;;;7140:26;7125:42;;7253:4;7238:20;;;;7206:1;7194:14;;;;7080:12;7050:222;;;7054:3;7300:6;7291:7;7288:19;7285:201;;;7361:19;;;7355:26;-1:-1:-1;;7444:1:172;7440:14;;;7456:3;7436:24;7432:37;7428:42;7413:58;7398:74;;7285:201;-1:-1:-1;;;;7532:1:172;7516:14;;;7512:22;7499:36;;-1:-1:-1;6503:1299:172:o;8159:127::-;8220:10;8215:3;8211:20;8208:1;8201:31;8251:4;8248:1;8241:15;8275:4;8272:1;8265:15;8291:135;8330:3;8351:17;;;8348:43;;8371:18;;:::i;:::-;-1:-1:-1;8418:1:172;8407:13;;8291:135::o;10166:799::-;10296:3;10325:1;10358:6;10352:13;10388:36;10414:9;10388:36;:::i;:::-;10455:1;10440:17;;10466:133;;;;10613:1;10608:332;;;;10433:507;;10466:133;-1:-1:-1;;10499:24:172;;10487:37;;10572:14;;10565:22;10553:35;;10544:45;;;-1:-1:-1;10466:133:172;;10608:332;10639:6;10636:1;10629:17;10687:4;10684:1;10674:18;10714:1;10728:166;10742:6;10739:1;10736:13;10728:166;;;10822:14;;10809:11;;;10802:35;10878:1;10865:15;;;;10764:4;10757:12;10728:166;;;10732:3;;10923:6;10918:3;10914:16;10907:23;;10433:507;-1:-1:-1;10956:3:172;;10166:799;-1:-1:-1;;;;;10166:799:172:o;11821:128::-;11888:9;;;11909:11;;;11906:37;;;11923:18;;:::i;11954:125::-;12019:9;;;12040:10;;;12037:36;;;12053:18;;:::i","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"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\":\"owner\",\"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\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"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":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"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":"owner","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":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"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":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"id":32}
1
+ {"abi":[{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"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":"owner","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":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"decimals_","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"0x6080604052348015600e575f5ffd5b50610e168061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106100cb575f3560e01c80633644e5151161008857806395d89b411161006357806395d89b41146101ae578063a9059cbb146101b6578063d505accf146101c9578063dd62ed3e146101dc575f5ffd5b80633644e5151461015f57806370a08231146101675780637ecebe001461018f575f5ffd5b806306fdde03146100cf578063095ea7b3146100ed5780631624f6c61461011057806318160ddd1461012557806323b872dd14610137578063313ce5671461014a575b5f5ffd5b6100d7610214565b6040516100e49190610959565b60405180910390f35b6101006100fb3660046109a9565b6102a3565b60405190151581526020016100e4565b61012361011e366004610a80565b61030f565b005b6003545b6040519081526020016100e4565b610100610145366004610af4565b6103ad565b60025460405160ff90911681526020016100e4565b6101296104bc565b610129610175366004610b2e565b6001600160a01b03165f9081526004602052604090205490565b61012961019d366004610b2e565b60086020525f908152604090205481565b6100d76104e1565b6101006101c43660046109a9565b6104f0565b6101236101d7366004610b47565b610584565b6101296101ea366004610bad565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b60605f805461022290610bde565b80601f016020809104026020016040519081016040528092919081815260200182805461024e90610bde565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102fd9086815260200190565b60405180910390a35060015b92915050565b60095460ff161561035d5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b5f6103688482610c62565b5060016103758382610c62565b506002805460ff191660ff831617905561038d6107dc565b6006556103986107f4565b60075550506009805460ff1916600117905550565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f198114610406576103e28184610895565b6001600160a01b0386165f9081526005602090815260408083203384529091529020555b6001600160a01b0385165f908152600460205260409020546104289084610895565b6001600160a01b038087165f90815260046020526040808220939093559086168152205461045690846108f7565b6001600160a01b038086165f8181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a99087815260200190565b60405180910390a3506001949350505050565b5f6006546104c86107dc565b146104da576104d56107f4565b905090565b5060075490565b60606001805461022290610bde565b335f908152600460205260408120546105099083610895565b335f90815260046020526040808220929092556001600160a01b0385168152205461053490836108f7565b6001600160a01b0384165f818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102fd9086815260200190565b428410156105d45760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610354565b5f60016105df6104bc565b6001600160a01b038a165f90815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061062c83610d31565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106a592919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610700573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107365750876001600160a01b0316816001600160a01b0316145b6107735760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610354565b6001600160a01b038181165f9081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b5f610955806107ed63ffffffff8216565b9250505090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516108249190610d49565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108556107dc565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f818310156108e65760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610354565b6108f08284610dba565b9392505050565b5f806109038385610dcd565b9050838110156108f05760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610354565b4690565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146109a4575f5ffd5b919050565b5f5f604083850312156109ba575f5ffd5b6109c38361098e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126109f4575f5ffd5b813567ffffffffffffffff811115610a0e57610a0e6109d1565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610a3d57610a3d6109d1565b604052818152838201602001851015610a54575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff811681146109a4575f5ffd5b5f5f5f60608486031215610a92575f5ffd5b833567ffffffffffffffff811115610aa8575f5ffd5b610ab4868287016109e5565b935050602084013567ffffffffffffffff811115610ad0575f5ffd5b610adc868287016109e5565b925050610aeb60408501610a70565b90509250925092565b5f5f5f60608486031215610b06575f5ffd5b610b0f8461098e565b9250610b1d6020850161098e565b929592945050506040919091013590565b5f60208284031215610b3e575f5ffd5b6108f08261098e565b5f5f5f5f5f5f5f60e0888a031215610b5d575f5ffd5b610b668861098e565b9650610b746020890161098e565b95506040880135945060608801359350610b9060808901610a70565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610bbe575f5ffd5b610bc78361098e565b9150610bd56020840161098e565b90509250929050565b600181811c90821680610bf257607f821691505b602082108103610c1057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c5d57805f5260205f20601f840160051c81016020851015610c3b5750805b601f840160051c820191505b81811015610c5a575f8155600101610c47565b50505b505050565b815167ffffffffffffffff811115610c7c57610c7c6109d1565b610c9081610c8a8454610bde565b84610c16565b6020601f821160018114610cc2575f8315610cab5750848201515b5f19600385901b1c1916600184901b178455610c5a565b5f84815260208120601f198516915b82811015610cf15787850151825560209485019460019092019101610cd1565b5084821015610d0e57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d4257610d42610d1d565b5060010190565b5f5f8354610d5681610bde565b600182168015610d6d5760018114610d8257610daf565b60ff1983168652811515820286019350610daf565b865f5260205f205f5b83811015610da757815488820152600190910190602001610d8b565b505081860193505b509195945050505050565b8181038181111561030957610309610d1d565b8082018082111561030957610309610d1d56fea2646970667358221220fa1971e0fd4fa18ba962826011b1abc08ff5f30cf77b902cdaf394b7defdfebf64736f6c634300081e0033","sourceMap":"369:7950:32:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b50600436106100cb575f3560e01c80633644e5151161008857806395d89b411161006357806395d89b41146101ae578063a9059cbb146101b6578063d505accf146101c9578063dd62ed3e146101dc575f5ffd5b80633644e5151461015f57806370a08231146101675780637ecebe001461018f575f5ffd5b806306fdde03146100cf578063095ea7b3146100ed5780631624f6c61461011057806318160ddd1461012557806323b872dd14610137578063313ce5671461014a575b5f5ffd5b6100d7610214565b6040516100e49190610959565b60405180910390f35b6101006100fb3660046109a9565b6102a3565b60405190151581526020016100e4565b61012361011e366004610a80565b61030f565b005b6003545b6040519081526020016100e4565b610100610145366004610af4565b6103ad565b60025460405160ff90911681526020016100e4565b6101296104bc565b610129610175366004610b2e565b6001600160a01b03165f9081526004602052604090205490565b61012961019d366004610b2e565b60086020525f908152604090205481565b6100d76104e1565b6101006101c43660046109a9565b6104f0565b6101236101d7366004610b47565b610584565b6101296101ea366004610bad565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205490565b60605f805461022290610bde565b80601f016020809104026020016040519081016040528092919081815260200182805461024e90610bde565b80156102995780601f1061027057610100808354040283529160200191610299565b820191905f5260205f20905b81548152906001019060200180831161027c57829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906102fd9086815260200190565b60405180910390a35060015b92915050565b60095460ff161561035d5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b60448201526064015b60405180910390fd5b5f6103688482610c62565b5060016103758382610c62565b506002805460ff191660ff831617905561038d6107dc565b6006556103986107f4565b60075550506009805460ff1916600117905550565b6001600160a01b0383165f9081526005602090815260408083203384529091528120545f198114610406576103e28184610895565b6001600160a01b0386165f9081526005602090815260408083203384529091529020555b6001600160a01b0385165f908152600460205260409020546104289084610895565b6001600160a01b038087165f90815260046020526040808220939093559086168152205461045690846108f7565b6001600160a01b038086165f8181526004602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a99087815260200190565b60405180910390a3506001949350505050565b5f6006546104c86107dc565b146104da576104d56107f4565b905090565b5060075490565b60606001805461022290610bde565b335f908152600460205260408120546105099083610895565b335f90815260046020526040808220929092556001600160a01b0385168152205461053490836108f7565b6001600160a01b0384165f818152600460205260409081902092909255905133907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906102fd9086815260200190565b428410156105d45760405162461bcd60e51b815260206004820152601760248201527f5045524d49545f444541444c494e455f455850495245440000000000000000006044820152606401610354565b5f60016105df6104bc565b6001600160a01b038a165f90815260086020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928d928d928d9290919061062c83610d31565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810188905260e001604051602081830303815290604052805190602001206040516020016106a592919061190160f01b81526002810192909252602282015260420190565b60408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa158015610700573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116158015906107365750876001600160a01b0316816001600160a01b0316145b6107735760405162461bcd60e51b815260206004820152600e60248201526d24a72b20a624a22fa9a4a3a722a960911b6044820152606401610354565b6001600160a01b038181165f9081526005602090815260408083208b8516808552908352928190208a90555189815291928b16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35050505050505050565b5f610955806107ed63ffffffff8216565b9250505090565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f5f6040516108249190610d49565b60405180910390207fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc66108556107dc565b604080516020810195909552840192909252606083015260808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f818310156108e65760405162461bcd60e51b815260206004820152601c60248201527f45524332303a207375627472616374696f6e20756e646572666c6f77000000006044820152606401610354565b6108f08284610dba565b9392505050565b5f806109038385610dcd565b9050838110156108f05760405162461bcd60e51b815260206004820152601860248201527f45524332303a206164646974696f6e206f766572666c6f7700000000000000006044820152606401610354565b4690565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146109a4575f5ffd5b919050565b5f5f604083850312156109ba575f5ffd5b6109c38361098e565b946020939093013593505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126109f4575f5ffd5b813567ffffffffffffffff811115610a0e57610a0e6109d1565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610a3d57610a3d6109d1565b604052818152838201602001851015610a54575f5ffd5b816020850160208301375f918101602001919091529392505050565b803560ff811681146109a4575f5ffd5b5f5f5f60608486031215610a92575f5ffd5b833567ffffffffffffffff811115610aa8575f5ffd5b610ab4868287016109e5565b935050602084013567ffffffffffffffff811115610ad0575f5ffd5b610adc868287016109e5565b925050610aeb60408501610a70565b90509250925092565b5f5f5f60608486031215610b06575f5ffd5b610b0f8461098e565b9250610b1d6020850161098e565b929592945050506040919091013590565b5f60208284031215610b3e575f5ffd5b6108f08261098e565b5f5f5f5f5f5f5f60e0888a031215610b5d575f5ffd5b610b668861098e565b9650610b746020890161098e565b95506040880135945060608801359350610b9060808901610a70565b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215610bbe575f5ffd5b610bc78361098e565b9150610bd56020840161098e565b90509250929050565b600181811c90821680610bf257607f821691505b602082108103610c1057634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115610c5d57805f5260205f20601f840160051c81016020851015610c3b5750805b601f840160051c820191505b81811015610c5a575f8155600101610c47565b50505b505050565b815167ffffffffffffffff811115610c7c57610c7c6109d1565b610c9081610c8a8454610bde565b84610c16565b6020601f821160018114610cc2575f8315610cab5750848201515b5f19600385901b1c1916600184901b178455610c5a565b5f84815260208120601f198516915b82811015610cf15787850151825560209485019460019092019101610cd1565b5084821015610d0e57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b5f60018201610d4257610d42610d1d565b5060010190565b5f5f8354610d5681610bde565b600182168015610d6d5760018114610d8257610daf565b60ff1983168652811515820286019350610daf565b865f5260205f205f5b83811015610da757815488820152600190910190602001610d8b565b505081860193505b509195945050505050565b8181038181111561030957610309610d1d565b8082018082111561030957610309610d1d56fea2646970667358221220fa1971e0fd4fa18ba962826011b1abc08ff5f30cf77b902cdaf394b7defdfebf64736f6c634300081e0033","sourceMap":"369:7950:32:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3057:221;;;;;;:::i;:::-;;:::i;:::-;;;1085:14:173;;1078:22;1060:41;;1048:2;1033:18;3057:221:32;920:187:173;2504:365:32;;;;;;:::i;:::-;;:::i;:::-;;1322:100;1403:12;;1322:100;;;2895:25:173;;;2883:2;2868:18;1322:100:32;2749:177:173;3578:472:32;;;;;;:::i;:::-;;:::i;877:92::-;953:9;;877:92;;953:9;;;;3452:36:173;;3440:2;3425:18;877:92:32;3310:184:173;5427:178:32;;;:::i;1428:116::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1520:17:32;1494:7;1520:17;;;:10;:17;;;;;;;1428:116;1970:41;;;;;;:::i;:::-;;;;;;;;;;;;;;775:96;;;:::i;3284:288::-;;;;;;:::i;:::-;;:::i;4239:1182::-;;;;;;:::i;:::-;;:::i;1550:142::-;;;;;;:::i;:::-;-1:-1:-1;;;;;1659:17:32;;;1633:7;1659:17;;;:10;:17;;;;;;;;:26;;;;;;;;;;;;;1550:142;677:92;725:13;757:5;750:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;677:92;:::o;3057:221::-;3167:10;3140:4;3156:22;;;:10;:22;;;;;;;;-1:-1:-1;;;;;3156:31:32;;;;;;;;;;:40;;;3212:37;3140:4;;3156:31;;3212:37;;;;3190:6;2895:25:173;;2883:2;2868:18;;2749:177;3212:37:32;;;;;;;;-1:-1:-1;3267:4:32;3057:221;;;;;:::o;2504:365::-;2611:11;;;;2610:12;2602:44;;;;-1:-1:-1;;;2602:44:32;;5537:2:173;2602:44:32;;;5519:21:173;5576:2;5556:18;;;5549:30;-1:-1:-1;;;5595:18:173;;;5588:49;5654:18;;2602:44:32;;;;;;;;;2657:5;:13;2665:5;2657;:13;:::i;:::-;-1:-1:-1;2680:7:32;:17;2690:7;2680;:17;:::i;:::-;-1:-1:-1;2707:9:32;:21;;-1:-1:-1;;2707:21:32;;;;;;;2758:14;:12;:14::i;:::-;2739:16;:33;2809:24;:22;:24::i;:::-;2782;:51;-1:-1:-1;;2844:11:32;:18;;-1:-1:-1;;2844:18:32;2858:4;2844:18;;;-1:-1:-1;2504:365:32:o;3578:472::-;-1:-1:-1;;;;;3709:16:32;;3675:4;3709:16;;;:10;:16;;;;;;;;3726:10;3709:28;;;;;;;;-1:-1:-1;;3788:22:32;;3784:80;;3843:21;3848:7;3857:6;3843:4;:21::i;:::-;-1:-1:-1;;;;;3812:16:32;;;;;;:10;:16;;;;;;;;3829:10;3812:28;;;;;;;:52;3784:80;-1:-1:-1;;;;;3899:16:32;;;;;;:10;:16;;;;;;3894:30;;3917:6;3894:4;:30::i;:::-;-1:-1:-1;;;;;3875:16:32;;;;;;;:10;:16;;;;;;:49;;;;3956:14;;;;;;;3951:28;;3972:6;3951:4;:28::i;:::-;-1:-1:-1;;;;;3934:14:32;;;;;;;:10;:14;;;;;;;:45;;;;3995:26;;;;;;;;;;4014:6;2895:25:173;;2883:2;2868:18;;2749:177;3995:26:32;;;;;;;;-1:-1:-1;4039:4:32;;3578:472;-1:-1:-1;;;;3578:472:32:o;5427:178::-;5484:7;5528:16;;5510:14;:12;:14::i;:::-;:34;:88;;5574:24;:22;:24::i;:::-;5503:95;;5427:178;:::o;5510:88::-;-1:-1:-1;5547:24:32;;;5427:178::o;775:96::-;825:13;857:7;850:14;;;;;:::i;3284:288::-;3420:10;3363:4;3409:22;;;:10;:22;;;;;;3404:36;;3433:6;3404:4;:36::i;:::-;3390:10;3379:22;;;;:10;:22;;;;;;:61;;;;-1:-1:-1;;;;;3472:14:32;;;;;;3467:28;;3488:6;3467:4;:28::i;:::-;-1:-1:-1;;;;;3450:14:32;;;;;;:10;:14;;;;;;;:45;;;;3511:32;;3520:10;;3511:32;;;;3536:6;2895:25:173;;2883:2;2868:18;;2749:177;4239:1182:32;4416:15;4404:8;:27;;4396:63;;;;-1:-1:-1;;;4396:63:32;;8009:2:173;4396:63:32;;;7991:21:173;8048:2;8028:18;;;8021:30;8087:25;8067:18;;;8060:53;8130:18;;4396:63:32;7807:347:173;4396:63:32;4470:24;4497:717;4617:18;:16;:18::i;:::-;-1:-1:-1;;;;;5026:13:32;;;;;;:6;:13;;;;;:15;;4732:157;;4919:5;;4954:7;;4991:5;;5026:15;;:13;:15;;;:::i;:::-;;;;-1:-1:-1;4692:413:32;;;;;;8718:25:173;;;;-1:-1:-1;;;;;8779:32:173;;;8759:18;;;8752:60;8848:32;;;;8828:18;;;8821:60;8897:18;;;8890:34;8940:19;;;8933:35;8984:19;;;8977:35;;;8690:19;;4692:413:32;;;;;;;;;;;;4657:470;;;;;;4547:598;;;;;;;;-1:-1:-1;;;9281:27:173;;9333:1;9324:11;;9317:27;;;;9369:2;9360:12;;9353:28;9406:2;9397:12;;9023:392;4547:598:32;;;;-1:-1:-1;;4547:598:32;;;;;;;;;4520:639;;4547:598;4520:639;;;;4497:717;;;;;;;;;9647:25:173;9720:4;9708:17;;9688:18;;;9681:45;9742:18;;;9735:34;;;9785:18;;;9778:34;;;9619:19;;4497:717:32;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4497:717:32;;-1:-1:-1;;4497:717:32;;;-1:-1:-1;;;;;;;5233:30:32;;;;;;:59;;;5287:5;-1:-1:-1;;;;;5267:25:32;:16;-1:-1:-1;;;;;5267:25:32;;5233:59;5225:86;;;;-1:-1:-1;;;5225:86:32;;10025:2:173;5225:86:32;;;10007:21:173;10064:2;10044:18;;;10037:30;-1:-1:-1;;;10083:18:173;;;10076:44;10137:18;;5225:86:32;9823:338:173;5225:86:32;-1:-1:-1;;;;;5322:28:32;;;;;;;:10;:28;;;;;;;;:37;;;;;;;;;;;;;:45;;;5383:31;2895:25:173;;;5322:37:32;;5383:31;;;;;2868:18:173;5383:31:32;;;;;;;4386:1035;4239:1182;;;;;;;:::o;8017:300::-;8063:15;8140:12;;8297:13;;;;:::i;:::-;8287:23;;8080:237;;8017:300;:::o;5611:404::-;5676:7;5753:95;5882:5;5866:23;;;;;;:::i;:::-;;;;;;;;5907:14;5939;:12;:14::i;:::-;5725:273;;;;;;11229:25:173;;;;11270:18;;11263:34;;;;11313:18;;;11306:34;11356:18;;;11349:34;5979:4:32;11399:19:173;;;11392:61;11201:19;;5725:273:32;;;;;;;;;;;;5702:306;;;;;;5695:313;;5611:404;:::o;7038:154::-;7097:7;7129:1;7124;:6;;7116:47;;;;-1:-1:-1;;;7116:47:32;;11666:2:173;7116:47:32;;;11648:21:173;11705:2;11685:18;;;11678:30;11744;11724:18;;;11717:58;11792:18;;7116:47:32;11464:352:173;7116:47:32;7180:5;7184:1;7180;:5;:::i;:::-;7173:12;7038:154;-1:-1:-1;;;7038:154:32:o;6859:173::-;6918:7;;6949:5;6953:1;6949;:5;:::i;:::-;6937:17;;6977:1;6972;:6;;6964:43;;;;-1:-1:-1;;;6964:43:32;;12286:2:173;6964:43:32;;;12268:21:173;12325:2;12305:18;;;12298:30;12364:26;12344:18;;;12337:54;12408:18;;6964:43:32;12084:348:173;7735:276:32;7918:9;;7735:276::o;14:418:173:-;163:2;152:9;145:21;126:4;195:6;189:13;238:6;233:2;222:9;218:18;211:34;297:6;292:2;284:6;280:15;275:2;264:9;260:18;254:50;353:1;348:2;339:6;328:9;324:22;320:31;313:42;423:2;416;412:7;407:2;399:6;395:15;391:29;380:9;376:45;372:54;364:62;;;14:418;;;;:::o;437:173::-;505:20;;-1:-1:-1;;;;;554:31:173;;544:42;;534:70;;600:1;597;590:12;534:70;437:173;;;:::o;615:300::-;683:6;691;744:2;732:9;723:7;719:23;715:32;712:52;;;760:1;757;750:12;712:52;783:29;802:9;783:29;:::i;:::-;773:39;881:2;866:18;;;;853:32;;-1:-1:-1;;;615:300:173:o;1112:127::-;1173:10;1168:3;1164:20;1161:1;1154:31;1204:4;1201:1;1194:15;1228:4;1225:1;1218:15;1244:726;1287:5;1340:3;1333:4;1325:6;1321:17;1317:27;1307:55;;1358:1;1355;1348:12;1307:55;1398:6;1385:20;1428:18;1420:6;1417:30;1414:56;;;1450:18;;:::i;:::-;1499:2;1493:9;1591:2;1553:17;;-1:-1:-1;;1549:31:173;;;1582:2;1545:40;1541:54;1529:67;;1626:18;1611:34;;1647:22;;;1608:62;1605:88;;;1673:18;;:::i;:::-;1709:2;1702:22;1733;;;1774:19;;;1795:4;1770:30;1767:39;-1:-1:-1;1764:59:173;;;1819:1;1816;1809:12;1764:59;1883:6;1876:4;1868:6;1864:17;1857:4;1849:6;1845:17;1832:58;1938:1;1910:19;;;1931:4;1906:30;1899:41;;;;1914:6;1244:726;-1:-1:-1;;;1244:726:173:o;1975:156::-;2041:20;;2101:4;2090:16;;2080:27;;2070:55;;2121:1;2118;2111:12;2136:608;2231:6;2239;2247;2300:2;2288:9;2279:7;2275:23;2271:32;2268:52;;;2316:1;2313;2306:12;2268:52;2356:9;2343:23;2389:18;2381:6;2378:30;2375:50;;;2421:1;2418;2411:12;2375:50;2444;2486:7;2477:6;2466:9;2462:22;2444:50;:::i;:::-;2434:60;;;2547:2;2536:9;2532:18;2519:32;2576:18;2566:8;2563:32;2560:52;;;2608:1;2605;2598:12;2560:52;2631;2675:7;2664:8;2653:9;2649:24;2631:52;:::i;:::-;2621:62;;;2702:36;2734:2;2723:9;2719:18;2702:36;:::i;:::-;2692:46;;2136:608;;;;;:::o;2931:374::-;3008:6;3016;3024;3077:2;3065:9;3056:7;3052:23;3048:32;3045:52;;;3093:1;3090;3083:12;3045:52;3116:29;3135:9;3116:29;:::i;:::-;3106:39;;3164:38;3198:2;3187:9;3183:18;3164:38;:::i;:::-;2931:374;;3154:48;;-1:-1:-1;;;3271:2:173;3256:18;;;;3243:32;;2931:374::o;3681:186::-;3740:6;3793:2;3781:9;3772:7;3768:23;3764:32;3761:52;;;3809:1;3806;3799:12;3761:52;3832:29;3851:9;3832:29;:::i;3872:808::-;3983:6;3991;3999;4007;4015;4023;4031;4084:3;4072:9;4063:7;4059:23;4055:33;4052:53;;;4101:1;4098;4091:12;4052:53;4124:29;4143:9;4124:29;:::i;:::-;4114:39;;4172:38;4206:2;4195:9;4191:18;4172:38;:::i;:::-;4162:48;-1:-1:-1;4279:2:173;4264:18;;4251:32;;-1:-1:-1;4380:2:173;4365:18;;4352:32;;-1:-1:-1;4429:37:173;4461:3;4446:19;;4429:37;:::i;:::-;3872:808;;;;-1:-1:-1;3872:808:173;;;;4419:47;4539:3;4524:19;;4511:33;;-1:-1:-1;4643:3:173;4628:19;;;4615:33;;3872:808;-1:-1:-1;;3872:808:173:o;4685:260::-;4753:6;4761;4814:2;4802:9;4793:7;4789:23;4785:32;4782:52;;;4830:1;4827;4820:12;4782:52;4853:29;4872:9;4853:29;:::i;:::-;4843:39;;4901:38;4935:2;4924:9;4920:18;4901:38;:::i;:::-;4891:48;;4685:260;;;;;:::o;4950:380::-;5029:1;5025:12;;;;5072;;;5093:61;;5147:4;5139:6;5135:17;5125:27;;5093:61;5200:2;5192:6;5189:14;5169:18;5166:38;5163:161;;5246:10;5241:3;5237:20;5234:1;5227:31;5281:4;5278:1;5271:15;5309:4;5306:1;5299:15;5163:161;;4950:380;;;:::o;5809:518::-;5911:2;5906:3;5903:11;5900:421;;;5947:5;5944:1;5937:16;5991:4;5988:1;5978:18;6061:2;6049:10;6045:19;6042:1;6038:27;6032:4;6028:38;6097:4;6085:10;6082:20;6079:47;;;-1:-1:-1;6120:4:173;6079:47;6175:2;6170:3;6166:12;6163:1;6159:20;6153:4;6149:31;6139:41;;6230:81;6248:2;6241:5;6238:13;6230:81;;;6307:1;6293:16;;6274:1;6263:13;6230:81;;;6234:3;;5900:421;5809:518;;;:::o;6503:1299::-;6629:3;6623:10;6656:18;6648:6;6645:30;6642:56;;;6678:18;;:::i;:::-;6707:97;6797:6;6757:38;6789:4;6783:11;6757:38;:::i;:::-;6751:4;6707:97;:::i;:::-;6853:4;6884:2;6873:14;;6901:1;6896:649;;;;7589:1;7606:6;7603:89;;;-1:-1:-1;7658:19:173;;;7652:26;7603:89;-1:-1:-1;;6460:1:173;6456:11;;;6452:24;6448:29;6438:40;6484:1;6480:11;;;6435:57;7705:81;;6866:930;;6896:649;5756:1;5749:14;;;5793:4;5780:18;;-1:-1:-1;;6932:20:173;;;7050:222;7064:7;7061:1;7058:14;7050:222;;;7146:19;;;7140:26;7125:42;;7253:4;7238:20;;;;7206:1;7194:14;;;;7080:12;7050:222;;;7054:3;7300:6;7291:7;7288:19;7285:201;;;7361:19;;;7355:26;-1:-1:-1;;7444:1:173;7440:14;;;7456:3;7436:24;7432:37;7428:42;7413:58;7398:74;;7285:201;-1:-1:-1;;;;7532:1:173;7516:14;;;7512:22;7499:36;;-1:-1:-1;6503:1299:173:o;8159:127::-;8220:10;8215:3;8211:20;8208:1;8201:31;8251:4;8248:1;8241:15;8275:4;8272:1;8265:15;8291:135;8330:3;8351:17;;;8348:43;;8371:18;;:::i;:::-;-1:-1:-1;8418:1:173;8407:13;;8291:135::o;10166:799::-;10296:3;10325:1;10358:6;10352:13;10388:36;10414:9;10388:36;:::i;:::-;10455:1;10440:17;;10466:133;;;;10613:1;10608:332;;;;10433:507;;10466:133;-1:-1:-1;;10499:24:173;;10487:37;;10572:14;;10565:22;10553:35;;10544:45;;;-1:-1:-1;10466:133:173;;10608:332;10639:6;10636:1;10629:17;10687:4;10684:1;10674:18;10714:1;10728:166;10742:6;10739:1;10736:13;10728:166;;;10822:14;;10809:11;;;10802:35;10878:1;10865:15;;;;10764:4;10757:12;10728:166;;;10732:3;;10923:6;10918:3;10914:16;10907:23;;10433:507;-1:-1:-1;10956:3:173;;10166:799;-1:-1:-1;;;;;10166:799:173:o;11821:128::-;11888:9;;;11909:11;;;11906:37;;;11923:18;;:::i;11954:125::-;12019:9;;;12040:10;;;12037:36;;;12053:18;;:::i","linkReferences":{}},"methodIdentifiers":{"DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","initialize(string,string,uint8)":"1624f6c6","name()":"06fdde03","nonces(address)":"7ecebe00","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"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\":\"owner\",\"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\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"decimals_\",\"type\":\"uint8\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC20.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set, where `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`).\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\"},\"initialize(string,string,uint8)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"allowance(address,address)\":{\"notice\":\"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`\"},\"approve(address,uint256)\":{\"notice\":\"Sets `amount` as the allowance of `spender` over the caller's tokens.\"},\"decimals()\":{\"notice\":\"Returns the decimals places of the token.\"},\"name()\":{\"notice\":\"Returns the name of the token.\"},\"symbol()\":{\"notice\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"notice\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"notice\":\"Moves `amount` tokens from the caller's account to `to`.\"},\"transferFrom(address,address,uint256)\":{\"notice\":\"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance.\"}},\"notice\":\"This is a mock contract of the ERC20 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC20.sol\":\"MockERC20\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC20.sol\":{\"keccak256\":\"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7\",\"dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9\"]},\"lib/forge-std/src/mocks/MockERC20.sol\":{\"keccak256\":\"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f\",\"dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"language":"Solidity","output":{"abi":[{"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":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"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":"owner","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":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"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":{"approve(address,uint256)":{"details":"Be aware of front-running risks: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729"},"initialize(string,string,uint8)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"version":1},"userdoc":{"kind":"user","methods":{"allowance(address,address)":{"notice":"Returns the remaining number of tokens that `spender` is allowed to spend on behalf of `owner`"},"approve(address,uint256)":{"notice":"Sets `amount` as the allowance of `spender` over the caller's tokens."},"decimals()":{"notice":"Returns the decimals places of the token."},"name()":{"notice":"Returns the name of the token."},"symbol()":{"notice":"Returns the symbol of the token."},"totalSupply()":{"notice":"Returns the amount of tokens in existence."},"transfer(address,uint256)":{"notice":"Moves `amount` tokens from the caller's account to `to`."},"transferFrom(address,address,uint256)":{"notice":"Moves `amount` tokens from `from` to `to` using the allowance mechanism. `amount` is then deducted from the caller's allowance."}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC20.sol":"MockERC20"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC20.sol":{"keccak256":"0x4cab887298790f908c27de107e4e2907ca5413aee482ef776f8d2f353c5ef947","urls":["bzz-raw://bb715e0c4a2bdbe432bb624501506041f06e878e0b72675aebba30ad2c2b72e7","dweb:/ipfs/QmWhhLSvkxS2NrukJJHqFY8gDVE5r9rD4PfHvR24pwdKv9"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC20.sol":{"keccak256":"0xadbdfc6639edec00ba94bb1133a0fd8de31ccafe45c2ef5df9b3ca61b60b559b","urls":["bzz-raw://bc766f01bccf669abac8cc7b2096cc1352a66471ca3772ae61b1801dedc4ed4f","dweb:/ipfs/QmNigaPj1LYkP7Z5xr4ijkUxr2K66fDGeoifG3WoM9ruyw"],"license":"MIT"}},"version":1},"id":32}
@@ -1 +1 @@
1
- {"abi":[{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"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":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"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":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"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":"id","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":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"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":"0x6080604052348015600e575f5ffd5b50610f0d8061001c5f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610238578063b88d4fde14610257578063c87b56dd1461026a578063e985e9c51461028a575f5ffd5b80636352211e146101d857806370a08231146101f757806395d89b4114610224575f5ffd5b8063095ea7b3116100b7578063095ea7b31461017e57806323b872dd1461019357806342842e0e146101a65780634cd88b76146101b9575f5ffd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f5ffd5b3480156100e8575f5ffd5b506100fc6100f7366004610a08565b6102d1565b60405190151581526020015b60405180910390f35b34801561011c575f5ffd5b50610125610322565b6040516101089190610a58565b34801561013d575f5ffd5b5061016661014c366004610a6a565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610108565b61019161018c366004610a97565b6103b1565b005b6101916101a1366004610abf565b610495565b6101916101b4366004610abf565b610688565b3480156101c4575f5ffd5b506101916101d3366004610ba2565b610773565b3480156101e3575f5ffd5b506101666101f2366004610a6a565b6107e6565b348015610202575f5ffd5b50610216610211366004610c07565b61083c565b604051908152602001610108565b34801561022f575f5ffd5b5061012561089d565b348015610243575f5ffd5b50610191610252366004610c20565b6108ac565b610191610265366004610c59565b610917565b348015610275575f5ffd5b50610125610284366004610a6a565b50606090565b348015610295575f5ffd5b506100fc6102a4366004610cd0565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b03198316148061030157506380ac58cd60e01b6001600160e01b03198316145b8061031c5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60605f805461033090610d01565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610d01565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f818152600260205260409020546001600160a01b0316338114806103f857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b61043a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600260205260409020546001600160a01b038481169116146104ea5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610431565b6001600160a01b0382166105345760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610431565b336001600160a01b038416148061056d57506001600160a01b0383165f90815260056020908152604080832033845290915290205460ff165b8061058d57505f818152600460205260409020546001600160a01b031633145b6105ca5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610431565b6001600160a01b0383165f9081526003602052604081208054916105ed83610d4d565b90915550506001600160a01b0382165f90815260036020526040812080549161061583610d62565b90915550505f81815260026020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610693838383610495565b813b158061072f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af11580156106ff573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610d7a565b6001600160e01b031916145b61076e5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b505050565b60065460ff16156107bc5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610431565b5f6107c78382610de0565b5060016107d48282610de0565b50506006805460ff1916600117905550565b5f818152600260205260409020546001600160a01b0316806108375760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610431565b919050565b5f6001600160a01b0382166108825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610431565b506001600160a01b03165f9081526003602052604090205490565b60606001805461033090610d01565b335f8181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610922848484610495565b823b15806109ab5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a029061095f903390899088908890600401610e9b565b6020604051808303815f875af115801561097b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099f9190610d7a565b6001600160e01b031916145b6109ea5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b50505050565b6001600160e01b031981168114610a05575f5ffd5b50565b5f60208284031215610a18575f5ffd5b8135610a23816109f0565b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610a236020830184610a2a565b5f60208284031215610a7a575f5ffd5b5035919050565b80356001600160a01b0381168114610837575f5ffd5b5f5f60408385031215610aa8575f5ffd5b610ab183610a81565b946020939093013593505050565b5f5f5f60608486031215610ad1575f5ffd5b610ada84610a81565b9250610ae860208501610a81565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff841115610b2757610b27610af9565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715610b5657610b56610af9565b604052838152905080828401851015610b6d575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112610b93575f5ffd5b610a2383833560208501610b0d565b5f5f60408385031215610bb3575f5ffd5b823567ffffffffffffffff811115610bc9575f5ffd5b610bd585828601610b84565b925050602083013567ffffffffffffffff811115610bf1575f5ffd5b610bfd85828601610b84565b9150509250929050565b5f60208284031215610c17575f5ffd5b610a2382610a81565b5f5f60408385031215610c31575f5ffd5b610c3a83610a81565b915060208301358015158114610c4e575f5ffd5b809150509250929050565b5f5f5f5f60808587031215610c6c575f5ffd5b610c7585610a81565b9350610c8360208601610a81565b925060408501359150606085013567ffffffffffffffff811115610ca5575f5ffd5b8501601f81018713610cb5575f5ffd5b610cc487823560208401610b0d565b91505092959194509250565b5f5f60408385031215610ce1575f5ffd5b610cea83610a81565b9150610cf860208401610a81565b90509250929050565b600181811c90821680610d1557607f821691505b602082108103610d3357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f81610d5b57610d5b610d39565b505f190190565b5f60018201610d7357610d73610d39565b5060010190565b5f60208284031215610d8a575f5ffd5b8151610a23816109f0565b601f82111561076e57805f5260205f20601f840160051c81016020851015610dba5750805b601f840160051c820191505b81811015610dd9575f8155600101610dc6565b5050505050565b815167ffffffffffffffff811115610dfa57610dfa610af9565b610e0e81610e088454610d01565b84610d95565b6020601f821160018114610e40575f8315610e295750848201515b5f19600385901b1c1916600184901b178455610dd9565b5f84815260208120601f198516915b82811015610e6f5787850151825560209485019460019092019101610e4f565b5084821015610e8c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610ecd90830184610a2a565b969550505050505056fea264697066735822122060662b2019429c4677187ba955663a1f46c65288999500881684e853e0e5011464736f6c634300081e0033","sourceMap":"403:7498:33:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610238578063b88d4fde14610257578063c87b56dd1461026a578063e985e9c51461028a575f5ffd5b80636352211e146101d857806370a08231146101f757806395d89b4114610224575f5ffd5b8063095ea7b3116100b7578063095ea7b31461017e57806323b872dd1461019357806342842e0e146101a65780634cd88b76146101b9575f5ffd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f5ffd5b3480156100e8575f5ffd5b506100fc6100f7366004610a08565b6102d1565b60405190151581526020015b60405180910390f35b34801561011c575f5ffd5b50610125610322565b6040516101089190610a58565b34801561013d575f5ffd5b5061016661014c366004610a6a565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610108565b61019161018c366004610a97565b6103b1565b005b6101916101a1366004610abf565b610495565b6101916101b4366004610abf565b610688565b3480156101c4575f5ffd5b506101916101d3366004610ba2565b610773565b3480156101e3575f5ffd5b506101666101f2366004610a6a565b6107e6565b348015610202575f5ffd5b50610216610211366004610c07565b61083c565b604051908152602001610108565b34801561022f575f5ffd5b5061012561089d565b348015610243575f5ffd5b50610191610252366004610c20565b6108ac565b610191610265366004610c59565b610917565b348015610275575f5ffd5b50610125610284366004610a6a565b50606090565b348015610295575f5ffd5b506100fc6102a4366004610cd0565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b03198316148061030157506380ac58cd60e01b6001600160e01b03198316145b8061031c5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60605f805461033090610d01565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610d01565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f818152600260205260409020546001600160a01b0316338114806103f857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b61043a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600260205260409020546001600160a01b038481169116146104ea5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610431565b6001600160a01b0382166105345760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610431565b336001600160a01b038416148061056d57506001600160a01b0383165f90815260056020908152604080832033845290915290205460ff165b8061058d57505f818152600460205260409020546001600160a01b031633145b6105ca5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610431565b6001600160a01b0383165f9081526003602052604081208054916105ed83610d4d565b90915550506001600160a01b0382165f90815260036020526040812080549161061583610d62565b90915550505f81815260026020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610693838383610495565b813b158061072f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af11580156106ff573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610d7a565b6001600160e01b031916145b61076e5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b505050565b60065460ff16156107bc5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610431565b5f6107c78382610de0565b5060016107d48282610de0565b50506006805460ff1916600117905550565b5f818152600260205260409020546001600160a01b0316806108375760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610431565b919050565b5f6001600160a01b0382166108825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610431565b506001600160a01b03165f9081526003602052604090205490565b60606001805461033090610d01565b335f8181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610922848484610495565b823b15806109ab5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a029061095f903390899088908890600401610e9b565b6020604051808303815f875af115801561097b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099f9190610d7a565b6001600160e01b031916145b6109ea5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b50505050565b6001600160e01b031981168114610a05575f5ffd5b50565b5f60208284031215610a18575f5ffd5b8135610a23816109f0565b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610a236020830184610a2a565b5f60208284031215610a7a575f5ffd5b5035919050565b80356001600160a01b0381168114610837575f5ffd5b5f5f60408385031215610aa8575f5ffd5b610ab183610a81565b946020939093013593505050565b5f5f5f60608486031215610ad1575f5ffd5b610ada84610a81565b9250610ae860208501610a81565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff841115610b2757610b27610af9565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715610b5657610b56610af9565b604052838152905080828401851015610b6d575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112610b93575f5ffd5b610a2383833560208501610b0d565b5f5f60408385031215610bb3575f5ffd5b823567ffffffffffffffff811115610bc9575f5ffd5b610bd585828601610b84565b925050602083013567ffffffffffffffff811115610bf1575f5ffd5b610bfd85828601610b84565b9150509250929050565b5f60208284031215610c17575f5ffd5b610a2382610a81565b5f5f60408385031215610c31575f5ffd5b610c3a83610a81565b915060208301358015158114610c4e575f5ffd5b809150509250929050565b5f5f5f5f60808587031215610c6c575f5ffd5b610c7585610a81565b9350610c8360208601610a81565b925060408501359150606085013567ffffffffffffffff811115610ca5575f5ffd5b8501601f81018713610cb5575f5ffd5b610cc487823560208401610b0d565b91505092959194509250565b5f5f60408385031215610ce1575f5ffd5b610cea83610a81565b9150610cf860208401610a81565b90509250929050565b600181811c90821680610d1557607f821691505b602082108103610d3357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f81610d5b57610d5b610d39565b505f190190565b5f60018201610d7357610d73610d39565b5060010190565b5f60208284031215610d8a575f5ffd5b8151610a23816109f0565b601f82111561076e57805f5260205f20601f840160051c81016020851015610dba5750805b601f840160051c820191505b81811015610dd9575f8155600101610dc6565b5050505050565b815167ffffffffffffffff811115610dfa57610dfa610af9565b610e0e81610e088454610d01565b84610d95565b6020601f821160018114610e40575f8315610e295750848201515b5f19600385901b1c1916600184901b178455610dd9565b5f84815260208120601f198516915b82811015610e6f5787850151825560209485019460019092019101610e4f565b5084821015610e8c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610ecd90830184610a2a565b969550505050505056fea264697066735822122060662b2019429c4677187ba955663a1f46c65288999500881684e853e0e5011464736f6c634300081e0033","sourceMap":"403:7498:33:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5376:332;;;;;;;;;;-1:-1:-1;5376:332:33;;;;;:::i;:::-;;:::i;:::-;;;565:14:172;;558:22;540:41;;528:2;513:18;5376:332:33;;;;;;;;693:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1949:120::-;;;;;;;;;;-1:-1:-1;1949:120:33;;;;;:::i;:::-;2020:7;2046:16;;;:12;:16;;;;;;-1:-1:-1;;;;;2046:16:33;;1949:120;;;;-1:-1:-1;;;;;1506:32:172;;;1488:51;;1476:2;1461:18;1949:120:33;1342:203:172;3128:301:33;;;;;;:::i;:::-;;:::i;:::-;;3654:693;;;;;;:::i;:::-;;:::i;4353:386::-;;;;;;:::i;:::-;;:::i;2728:212::-;;;;;;;;;;-1:-1:-1;2728:212:33;;;;;:::i;:::-;;:::i;1280:158::-;;;;;;;;;;-1:-1:-1;1280:158:33;;;;;:::i;:::-;;:::i;1444:177::-;;;;;;;;;;-1:-1:-1;1444:177:33;;;;;:::i;:::-;;:::i;:::-;;;4372:25:172;;;4360:2;4345:18;1444:177:33;4226::172;791:96:33;;;;;;;;;;;;;:::i;3435:213::-;;;;;;;;;;-1:-1:-1;3435:213:33;;;;;:::i;:::-;;:::i;4745:443::-;;;;;;:::i;:::-;;:::i;893:85::-;;;;;;;;;;-1:-1:-1;893:85:33;;;;;:::i;:::-;-1:-1:-1;961:13:33;;893:85;2075:161;;;;;;;;;;-1:-1:-1;2075:161:33;;;;;:::i;:::-;-1:-1:-1;;;;;2195:24:33;;;2172:4;2195:24;;;:17;:24;;;;;;;;:34;;;;;;;;;;;;;;;2075:161;5376:332;5461:4;-1:-1:-1;;;;;;;;;5484:25:33;;;;:100;;-1:-1:-1;;;;;;;;;;5559:25:33;;;5484:100;:175;;;-1:-1:-1;;;;;;;;;;5634:25:33;;;5484:175;5477:182;5376:332;-1:-1:-1;;5376:332:33:o;693:92::-;741:13;773:5;766:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;693:92;:::o;3128:301::-;3216:13;3232:12;;;:8;:12;;;;;;-1:-1:-1;;;;;3232:12:33;3263:10;:19;;;:59;;-1:-1:-1;;;;;;3286:24:33;;;;;;:17;:24;;;;;;;;3311:10;3286:36;;;;;;;;;;3263:59;3255:86;;;;-1:-1:-1;;;3255:86:33;;6330:2:172;3255:86:33;;;6312:21:172;6369:2;6349:18;;;6342:30;-1:-1:-1;;;6388:18:172;;;6381:44;6442:18;;3255:86:33;;;;;;;;;3352:16;;;;:12;:16;;;;;;:26;;-1:-1:-1;;;;;;3352:26:33;-1:-1:-1;;;;;3352:26:33;;;;;;;;;3394:28;;3352:16;;3394:28;;;;;;;3206:223;3128:301;;:::o;3654:693::-;3772:12;;;;:8;:12;;;;;;-1:-1:-1;;;;;3764:20:33;;;3772:12;;3764:20;3756:43;;;;-1:-1:-1;;;3756:43:33;;6673:2:172;3756:43:33;;;6655:21:172;6712:2;6692:18;;;6685:30;-1:-1:-1;;;6731:18:172;;;6724:40;6781:18;;3756:43:33;6471:334:172;3756:43:33;-1:-1:-1;;;;;3818:16:33;;3810:46;;;;-1:-1:-1;;;3810:46:33;;7012:2:172;3810:46:33;;;6994:21:172;7051:2;7031:18;;;7024:30;-1:-1:-1;;;7070:18:172;;;7063:47;7127:18;;3810:46:33;6810:341:172;3810:46:33;3888:10;-1:-1:-1;;;;;3888:18:33;;;;:57;;-1:-1:-1;;;;;;3910:23:33;;;;;;:17;:23;;;;;;;;3934:10;3910:35;;;;;;;;;;3888:57;:91;;;-1:-1:-1;3963:16:33;;;;:12;:16;;;;;;-1:-1:-1;;;;;3963:16:33;3949:10;:30;3888:91;3867:152;;;;-1:-1:-1;;;3867:152:33;;6330:2:172;3867:152:33;;;6312:21:172;6369:2;6349:18;;;6342:30;-1:-1:-1;;;6388:18:172;;;6381:44;6442:18;;3867:152:33;6128:338:172;3867:152:33;-1:-1:-1;;;;;4195:16:33;;;;;;:10;:16;;;;;:18;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;4224:14:33;;;;;;:10;:14;;;;;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;4251:12:33;;;;:8;:12;;;;;;;;:17;;-1:-1:-1;;;;;4251:17:33;;;-1:-1:-1;;;;;;4251:17:33;;;;;;;;4286:12;:16;;;;;;4279:23;;;;;;;4318:22;;4260:2;;4251:17;;4318:22;;;;;;3654:693;;;:::o;4353:386::-;4459:26;4472:4;4478:2;4482;4459:12;:26::i;:::-;7833:18;;7878:14;;4517:173;;-1:-1:-1;4553:67:33;;-1:-1:-1;;;4553:67:33;;;4595:10;4553:67;;;7836:51:172;-1:-1:-1;;;;;7923:32:172;;;7903:18;;;7896:60;7972:18;;;7965:34;;;8035:3;8015:18;;;8008:31;-1:-1:-1;8055:19:172;;;8048:30;4644:46:33;;4553:41;;;;4644:46;;8095:19:172;;4553:67:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4553:137:33;;4517:173;4496:236;;;;-1:-1:-1;;;4496:236:33;;8581:2:172;4496:236:33;;;8563:21:172;8620:2;8600:18;;;8593:30;-1:-1:-1;;;8639:18:172;;;8632:46;8695:18;;4496:236:33;8379:340:172;4496:236:33;4353:386;;;:::o;2728:212::-;2818:11;;;;2817:12;2809:44;;;;-1:-1:-1;;;2809:44:33;;8926:2:172;2809:44:33;;;8908:21:172;8965:2;8945:18;;;8938:30;-1:-1:-1;;;8984:18:172;;;8977:49;9043:18;;2809:44:33;8724:343:172;2809:44:33;2864:5;:13;2872:5;2864;:13;:::i;:::-;-1:-1:-1;2887:7:33;:17;2897:7;2887;:17;:::i;:::-;-1:-1:-1;;2915:11:33;:18;;-1:-1:-1;;2915:18:33;2929:4;2915:18;;;-1:-1:-1;2728:212:33:o;1280:158::-;1347:13;1389:12;;;:8;:12;;;;;;-1:-1:-1;;;;;1389:12:33;;1372:59;;;;-1:-1:-1;;;1372:59:33;;11398:2:172;1372:59:33;;;11380:21:172;11437:2;11417:18;;;11410:30;-1:-1:-1;;;11456:18:172;;;11449:40;11506:18;;1372:59:33;11196:334:172;1372:59:33;1280:158;;;:::o;1444:177::-;1516:7;-1:-1:-1;;;;;1543:19:33;;1535:44;;;;-1:-1:-1;;;1535:44:33;;11737:2:172;1535:44:33;;;11719:21:172;11776:2;11756:18;;;11749:30;-1:-1:-1;;;11795:18:172;;;11788:42;11847:18;;1535:44:33;11535:336:172;1535:44:33;-1:-1:-1;;;;;;1597:17:33;;;;;:10;:17;;;;;;;1444:177::o;791:96::-;841:13;873:7;866:14;;;;;:::i;3435:213::-;3547:10;3529:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;3529:39:33;;;;;;;;;;;;:50;;-1:-1:-1;;3529:50:33;;;;;;;;;;3595:46;;540:41:172;;;3529:39:33;;3547:10;3595:46;;513:18:172;3595:46:33;;;;;;;3435:213;;:::o;4745:443::-;4906:26;4919:4;4925:2;4929;4906:12;:26::i;:::-;7833:18;;7878:14;;4964:175;;-1:-1:-1;5000:69:33;;-1:-1:-1;;;5000:69:33;;;5093:46;-1:-1:-1;;;;;5000:41:33;;;5093:46;;5000:69;;5042:10;;5054:4;;5060:2;;5064:4;;5000:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;5000:139:33;;4964:175;4943:238;;;;-1:-1:-1;;;4943:238:33;;8581:2:172;4943:238:33;;;8563:21:172;8620:2;8600:18;;;8593:30;-1:-1:-1;;;8639:18:172;;;8632:46;8695:18;;4943:238:33;8379:340:172;4943:238:33;4745:443;;;;:::o;14:131:172:-;-1:-1:-1;;;;;;88:32:172;;78:43;;68:71;;135:1;132;125:12;68:71;14:131;:::o;150:245::-;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:172:o;592:289::-;634:3;672:5;666:12;699:6;694:3;687:19;755:6;748:4;741:5;737:16;730:4;725:3;721:14;715:47;807:1;800:4;791:6;786:3;782:16;778:27;771:38;870:4;863:2;859:7;854:2;846:6;842:15;838:29;833:3;829:39;825:50;818:57;;;592:289;;;;:::o;886:220::-;1035:2;1024:9;1017:21;998:4;1055:45;1096:2;1085:9;1081:18;1073:6;1055:45;:::i;1111:226::-;1170:6;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;-1:-1:-1;1284:23:172;;1111:226;-1:-1:-1;1111:226:172:o;1550:173::-;1618:20;;-1:-1:-1;;;;;1667:31:172;;1657:42;;1647:70;;1713:1;1710;1703:12;1728:300;1796:6;1804;1857:2;1845:9;1836:7;1832:23;1828:32;1825:52;;;1873:1;1870;1863:12;1825:52;1896:29;1915:9;1896:29;:::i;:::-;1886:39;1994:2;1979:18;;;;1966:32;;-1:-1:-1;;;1728:300:172:o;2033:374::-;2110:6;2118;2126;2179:2;2167:9;2158:7;2154:23;2150:32;2147:52;;;2195:1;2192;2185:12;2147:52;2218:29;2237:9;2218:29;:::i;:::-;2208:39;;2266:38;2300:2;2289:9;2285:18;2266:38;:::i;:::-;2033:374;;2256:48;;-1:-1:-1;;;2373:2:172;2358:18;;;;2345:32;;2033:374::o;2412:127::-;2473:10;2468:3;2464:20;2461:1;2454:31;2504:4;2501:1;2494:15;2528:4;2525:1;2518:15;2544:716;2609:5;2641:1;2665:18;2657:6;2654:30;2651:56;;;2687:18;;:::i;:::-;-1:-1:-1;2842:2:172;2836:9;-1:-1:-1;;2755:2:172;2734:15;;2730:29;;2900:2;2888:15;2884:29;2872:42;;2965:22;;;2944:18;2929:34;;2926:62;2923:88;;;2991:18;;:::i;:::-;3027:2;3020:22;3075;;;3060:6;-1:-1:-1;3060:6:172;3112:16;;;3109:25;-1:-1:-1;3106:45:172;;;3147:1;3144;3137:12;3106:45;3197:6;3192:3;3185:4;3177:6;3173:17;3160:44;3252:1;3245:4;3236:6;3228;3224:19;3220:30;3213:41;;2544:716;;;;;:::o;3265:222::-;3308:5;3361:3;3354:4;3346:6;3342:17;3338:27;3328:55;;3379:1;3376;3369:12;3328:55;3401:80;3477:3;3468:6;3455:20;3448:4;3440:6;3436:17;3401:80;:::i;3492:538::-;3580:6;3588;3641:2;3629:9;3620:7;3616:23;3612:32;3609:52;;;3657:1;3654;3647:12;3609:52;3697:9;3684:23;3730:18;3722:6;3719:30;3716:50;;;3762:1;3759;3752:12;3716:50;3785;3827:7;3818:6;3807:9;3803:22;3785:50;:::i;:::-;3775:60;;;3888:2;3877:9;3873:18;3860:32;3917:18;3907:8;3904:32;3901:52;;;3949:1;3946;3939:12;3901:52;3972;4016:7;4005:8;3994:9;3990:24;3972:52;:::i;:::-;3962:62;;;3492:538;;;;;:::o;4035:186::-;4094:6;4147:2;4135:9;4126:7;4122:23;4118:32;4115:52;;;4163:1;4160;4153:12;4115:52;4186:29;4205:9;4186:29;:::i;4408:347::-;4473:6;4481;4534:2;4522:9;4513:7;4509:23;4505:32;4502:52;;;4550:1;4547;4540:12;4502:52;4573:29;4592:9;4573:29;:::i;:::-;4563:39;;4652:2;4641:9;4637:18;4624:32;4699:5;4692:13;4685:21;4678:5;4675:32;4665:60;;4721:1;4718;4711:12;4665:60;4744:5;4734:15;;;4408:347;;;;;:::o;4760:713::-;4855:6;4863;4871;4879;4932:3;4920:9;4911:7;4907:23;4903:33;4900:53;;;4949:1;4946;4939:12;4900:53;4972:29;4991:9;4972:29;:::i;:::-;4962:39;;5020:38;5054:2;5043:9;5039:18;5020:38;:::i;:::-;5010:48;-1:-1:-1;5127:2:172;5112:18;;5099:32;;-1:-1:-1;5206:2:172;5191:18;;5178:32;5233:18;5222:30;;5219:50;;;5265:1;5262;5255:12;5219:50;5288:22;;5341:4;5333:13;;5329:27;-1:-1:-1;5319:55:172;;5370:1;5367;5360:12;5319:55;5393:74;5459:7;5454:2;5441:16;5436:2;5432;5428:11;5393:74;:::i;:::-;5383:84;;;4760:713;;;;;;;:::o;5478:260::-;5546:6;5554;5607:2;5595:9;5586:7;5582:23;5578:32;5575:52;;;5623:1;5620;5613:12;5575:52;5646:29;5665:9;5646:29;:::i;:::-;5636:39;;5694:38;5728:2;5717:9;5713:18;5694:38;:::i;:::-;5684:48;;5478:260;;;;;:::o;5743:380::-;5822:1;5818:12;;;;5865;;;5886:61;;5940:4;5932:6;5928:17;5918:27;;5886:61;5993:2;5985:6;5982:14;5962:18;5959:38;5956:161;;6039:10;6034:3;6030:20;6027:1;6020:31;6074:4;6071:1;6064:15;6102:4;6099:1;6092:15;5956:161;;5743:380;;;:::o;7156:127::-;7217:10;7212:3;7208:20;7205:1;7198:31;7248:4;7245:1;7238:15;7272:4;7269:1;7262:15;7288:136;7327:3;7355:5;7345:39;;7364:18;;:::i;:::-;-1:-1:-1;;;7400:18:172;;7288:136::o;7429:135::-;7468:3;7489:17;;;7486:43;;7509:18;;:::i;:::-;-1:-1:-1;7556:1:172;7545:13;;7429:135::o;8125:249::-;8194:6;8247:2;8235:9;8226:7;8222:23;8218:32;8215:52;;;8263:1;8260;8253:12;8215:52;8295:9;8289:16;8314:30;8338:5;8314:30;:::i;9198:518::-;9300:2;9295:3;9292:11;9289:421;;;9336:5;9333:1;9326:16;9380:4;9377:1;9367:18;9450:2;9438:10;9434:19;9431:1;9427:27;9421:4;9417:38;9486:4;9474:10;9471:20;9468:47;;;-1:-1:-1;9509:4:172;9468:47;9564:2;9559:3;9555:12;9552:1;9548:20;9542:4;9538:31;9528:41;;9619:81;9637:2;9630:5;9627:13;9619:81;;;9696:1;9682:16;;9663:1;9652:13;9619:81;;;9623:3;;9198:518;;;:::o;9892:1299::-;10018:3;10012:10;10045:18;10037:6;10034:30;10031:56;;;10067:18;;:::i;:::-;10096:97;10186:6;10146:38;10178:4;10172:11;10146:38;:::i;:::-;10140:4;10096:97;:::i;:::-;10242:4;10273:2;10262:14;;10290:1;10285:649;;;;10978:1;10995:6;10992:89;;;-1:-1:-1;11047:19:172;;;11041:26;10992:89;-1:-1:-1;;9849:1:172;9845:11;;;9841:24;9837:29;9827:40;9873:1;9869:11;;;9824:57;11094:81;;10255:930;;10285:649;9145:1;9138:14;;;9182:4;9169:18;;-1:-1:-1;;10321:20:172;;;10439:222;10453:7;10450:1;10447:14;10439:222;;;10535:19;;;10529:26;10514:42;;10642:4;10627:20;;;;10595:1;10583:14;;;;10469:12;10439:222;;;10443:3;10689:6;10680:7;10677:19;10674:201;;;10750:19;;;10744:26;-1:-1:-1;;10833:1:172;10829:14;;;10845:3;10825:24;10821:37;10817:42;10802:58;10787:74;;10674:201;-1:-1:-1;;;;10921:1:172;10905:14;;;10901:22;10888:36;;-1:-1:-1;9892:1299:172:o;11876:485::-;-1:-1:-1;;;;;12107:32:172;;;12089:51;;12176:32;;12171:2;12156:18;;12149:60;12240:2;12225:18;;12218:34;;;12288:3;12283:2;12268:18;;12261:31;;;-1:-1:-1;;12309:46:172;;12335:19;;12327:6;12309:46;:::i;:::-;12301:54;11876:485;-1:-1:-1;;;;;;11876:485:172:o","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","initialize(string,string)":"4cd88b76","isApprovedForAll(address,address)":"e985e9c5","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.30+commit.73712a01\"},\"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\":\"_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\":\"payable\",\"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\":\"id\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"name\":\"initialize\",\"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\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":\"id\",\"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\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner.\"},\"Transfer(address,address,uint256)\":{\"details\":\"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none.\"}},\"kind\":\"dev\",\"methods\":{\"initialize(string,string)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"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\"}},\"notice\":\"This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC721.sol\":\"MockERC721\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87\",\"dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"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":"_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":"payable","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":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"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":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","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":"id","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":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"initialize(string,string)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"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"}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC721.sol":"MockERC721"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9","urls":["bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87","dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv"],"license":"MIT"}},"version":1},"id":33}
1
+ {"abi":[{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"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":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"}],"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":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"ownerOf","inputs":[{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"owner","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"safeTransferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"id","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"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":"id","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":"id","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"payable"},{"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":"0x6080604052348015600e575f5ffd5b50610f0d8061001c5f395ff3fe6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610238578063b88d4fde14610257578063c87b56dd1461026a578063e985e9c51461028a575f5ffd5b80636352211e146101d857806370a08231146101f757806395d89b4114610224575f5ffd5b8063095ea7b3116100b7578063095ea7b31461017e57806323b872dd1461019357806342842e0e146101a65780634cd88b76146101b9575f5ffd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f5ffd5b3480156100e8575f5ffd5b506100fc6100f7366004610a08565b6102d1565b60405190151581526020015b60405180910390f35b34801561011c575f5ffd5b50610125610322565b6040516101089190610a58565b34801561013d575f5ffd5b5061016661014c366004610a6a565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610108565b61019161018c366004610a97565b6103b1565b005b6101916101a1366004610abf565b610495565b6101916101b4366004610abf565b610688565b3480156101c4575f5ffd5b506101916101d3366004610ba2565b610773565b3480156101e3575f5ffd5b506101666101f2366004610a6a565b6107e6565b348015610202575f5ffd5b50610216610211366004610c07565b61083c565b604051908152602001610108565b34801561022f575f5ffd5b5061012561089d565b348015610243575f5ffd5b50610191610252366004610c20565b6108ac565b610191610265366004610c59565b610917565b348015610275575f5ffd5b50610125610284366004610a6a565b50606090565b348015610295575f5ffd5b506100fc6102a4366004610cd0565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b03198316148061030157506380ac58cd60e01b6001600160e01b03198316145b8061031c5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60605f805461033090610d01565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610d01565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f818152600260205260409020546001600160a01b0316338114806103f857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b61043a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600260205260409020546001600160a01b038481169116146104ea5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610431565b6001600160a01b0382166105345760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610431565b336001600160a01b038416148061056d57506001600160a01b0383165f90815260056020908152604080832033845290915290205460ff165b8061058d57505f818152600460205260409020546001600160a01b031633145b6105ca5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610431565b6001600160a01b0383165f9081526003602052604081208054916105ed83610d4d565b90915550506001600160a01b0382165f90815260036020526040812080549161061583610d62565b90915550505f81815260026020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610693838383610495565b813b158061072f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af11580156106ff573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610d7a565b6001600160e01b031916145b61076e5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b505050565b60065460ff16156107bc5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610431565b5f6107c78382610de0565b5060016107d48282610de0565b50506006805460ff1916600117905550565b5f818152600260205260409020546001600160a01b0316806108375760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610431565b919050565b5f6001600160a01b0382166108825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610431565b506001600160a01b03165f9081526003602052604090205490565b60606001805461033090610d01565b335f8181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610922848484610495565b823b15806109ab5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a029061095f903390899088908890600401610e9b565b6020604051808303815f875af115801561097b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099f9190610d7a565b6001600160e01b031916145b6109ea5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b50505050565b6001600160e01b031981168114610a05575f5ffd5b50565b5f60208284031215610a18575f5ffd5b8135610a23816109f0565b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610a236020830184610a2a565b5f60208284031215610a7a575f5ffd5b5035919050565b80356001600160a01b0381168114610837575f5ffd5b5f5f60408385031215610aa8575f5ffd5b610ab183610a81565b946020939093013593505050565b5f5f5f60608486031215610ad1575f5ffd5b610ada84610a81565b9250610ae860208501610a81565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff841115610b2757610b27610af9565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715610b5657610b56610af9565b604052838152905080828401851015610b6d575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112610b93575f5ffd5b610a2383833560208501610b0d565b5f5f60408385031215610bb3575f5ffd5b823567ffffffffffffffff811115610bc9575f5ffd5b610bd585828601610b84565b925050602083013567ffffffffffffffff811115610bf1575f5ffd5b610bfd85828601610b84565b9150509250929050565b5f60208284031215610c17575f5ffd5b610a2382610a81565b5f5f60408385031215610c31575f5ffd5b610c3a83610a81565b915060208301358015158114610c4e575f5ffd5b809150509250929050565b5f5f5f5f60808587031215610c6c575f5ffd5b610c7585610a81565b9350610c8360208601610a81565b925060408501359150606085013567ffffffffffffffff811115610ca5575f5ffd5b8501601f81018713610cb5575f5ffd5b610cc487823560208401610b0d565b91505092959194509250565b5f5f60408385031215610ce1575f5ffd5b610cea83610a81565b9150610cf860208401610a81565b90509250929050565b600181811c90821680610d1557607f821691505b602082108103610d3357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f81610d5b57610d5b610d39565b505f190190565b5f60018201610d7357610d73610d39565b5060010190565b5f60208284031215610d8a575f5ffd5b8151610a23816109f0565b601f82111561076e57805f5260205f20601f840160051c81016020851015610dba5750805b601f840160051c820191505b81811015610dd9575f8155600101610dc6565b5050505050565b815167ffffffffffffffff811115610dfa57610dfa610af9565b610e0e81610e088454610d01565b84610d95565b6020601f821160018114610e40575f8315610e295750848201515b5f19600385901b1c1916600184901b178455610dd9565b5f84815260208120601f198516915b82811015610e6f5787850151825560209485019460019092019101610e4f565b5084821015610e8c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610ecd90830184610a2a565b969550505050505056fea264697066735822122060662b2019429c4677187ba955663a1f46c65288999500881684e853e0e5011464736f6c634300081e0033","sourceMap":"403:7498:33:-:0;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106100d9575f3560e01c80636352211e1161007c578063a22cb46511610057578063a22cb46514610238578063b88d4fde14610257578063c87b56dd1461026a578063e985e9c51461028a575f5ffd5b80636352211e146101d857806370a08231146101f757806395d89b4114610224575f5ffd5b8063095ea7b3116100b7578063095ea7b31461017e57806323b872dd1461019357806342842e0e146101a65780634cd88b76146101b9575f5ffd5b806301ffc9a7146100dd57806306fdde0314610111578063081812fc14610132575b5f5ffd5b3480156100e8575f5ffd5b506100fc6100f7366004610a08565b6102d1565b60405190151581526020015b60405180910390f35b34801561011c575f5ffd5b50610125610322565b6040516101089190610a58565b34801561013d575f5ffd5b5061016661014c366004610a6a565b5f908152600460205260409020546001600160a01b031690565b6040516001600160a01b039091168152602001610108565b61019161018c366004610a97565b6103b1565b005b6101916101a1366004610abf565b610495565b6101916101b4366004610abf565b610688565b3480156101c4575f5ffd5b506101916101d3366004610ba2565b610773565b3480156101e3575f5ffd5b506101666101f2366004610a6a565b6107e6565b348015610202575f5ffd5b50610216610211366004610c07565b61083c565b604051908152602001610108565b34801561022f575f5ffd5b5061012561089d565b348015610243575f5ffd5b50610191610252366004610c20565b6108ac565b610191610265366004610c59565b610917565b348015610275575f5ffd5b50610125610284366004610a6a565b50606090565b348015610295575f5ffd5b506100fc6102a4366004610cd0565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6301ffc9a760e01b6001600160e01b03198316148061030157506380ac58cd60e01b6001600160e01b03198316145b8061031c5750635b5e139f60e01b6001600160e01b03198316145b92915050565b60605f805461033090610d01565b80601f016020809104026020016040519081016040528092919081815260200182805461035c90610d01565b80156103a75780601f1061037e576101008083540402835291602001916103a7565b820191905f5260205f20905b81548152906001019060200180831161038a57829003601f168201915b5050505050905090565b5f818152600260205260409020546001600160a01b0316338114806103f857506001600160a01b0381165f90815260056020908152604080832033845290915290205460ff165b61043a5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b60448201526064015b60405180910390fd5b5f8281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b5f818152600260205260409020546001600160a01b038481169116146104ea5760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610431565b6001600160a01b0382166105345760405162461bcd60e51b81526020600482015260116024820152701253959053125117d49150d25412515395607a1b6044820152606401610431565b336001600160a01b038416148061056d57506001600160a01b0383165f90815260056020908152604080832033845290915290205460ff165b8061058d57505f818152600460205260409020546001600160a01b031633145b6105ca5760405162461bcd60e51b815260206004820152600e60248201526d1393d517d055551213d49256915160921b6044820152606401610431565b6001600160a01b0383165f9081526003602052604081208054916105ed83610d4d565b90915550506001600160a01b0382165f90815260036020526040812080549161061583610d62565b90915550505f81815260026020908152604080832080546001600160a01b038088166001600160a01b031992831681179093556004909452828520805490911690559051849391928716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b610693838383610495565b813b158061072f5750604051630a85bd0160e11b8082523360048301526001600160a01b03858116602484015260448301849052608060648401525f608484015290919084169063150b7a029060a4016020604051808303815f875af11580156106ff573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107239190610d7a565b6001600160e01b031916145b61076e5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b505050565b60065460ff16156107bc5760405162461bcd60e51b81526020600482015260136024820152721053149150511657d253925512505312569151606a1b6044820152606401610431565b5f6107c78382610de0565b5060016107d48282610de0565b50506006805460ff1916600117905550565b5f818152600260205260409020546001600160a01b0316806108375760405162461bcd60e51b815260206004820152600a6024820152691393d517d3525395115160b21b6044820152606401610431565b919050565b5f6001600160a01b0382166108825760405162461bcd60e51b815260206004820152600c60248201526b5a45524f5f4144445245535360a01b6044820152606401610431565b506001600160a01b03165f9081526003602052604090205490565b60606001805461033090610d01565b335f8181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610922848484610495565b823b15806109ab5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a029061095f903390899088908890600401610e9b565b6020604051808303815f875af115801561097b573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099f9190610d7a565b6001600160e01b031916145b6109ea5760405162461bcd60e51b815260206004820152601060248201526f155394d0519157d49150d2541251539560821b6044820152606401610431565b50505050565b6001600160e01b031981168114610a05575f5ffd5b50565b5f60208284031215610a18575f5ffd5b8135610a23816109f0565b9392505050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610a236020830184610a2a565b5f60208284031215610a7a575f5ffd5b5035919050565b80356001600160a01b0381168114610837575f5ffd5b5f5f60408385031215610aa8575f5ffd5b610ab183610a81565b946020939093013593505050565b5f5f5f60608486031215610ad1575f5ffd5b610ada84610a81565b9250610ae860208501610a81565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff841115610b2757610b27610af9565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715610b5657610b56610af9565b604052838152905080828401851015610b6d575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112610b93575f5ffd5b610a2383833560208501610b0d565b5f5f60408385031215610bb3575f5ffd5b823567ffffffffffffffff811115610bc9575f5ffd5b610bd585828601610b84565b925050602083013567ffffffffffffffff811115610bf1575f5ffd5b610bfd85828601610b84565b9150509250929050565b5f60208284031215610c17575f5ffd5b610a2382610a81565b5f5f60408385031215610c31575f5ffd5b610c3a83610a81565b915060208301358015158114610c4e575f5ffd5b809150509250929050565b5f5f5f5f60808587031215610c6c575f5ffd5b610c7585610a81565b9350610c8360208601610a81565b925060408501359150606085013567ffffffffffffffff811115610ca5575f5ffd5b8501601f81018713610cb5575f5ffd5b610cc487823560208401610b0d565b91505092959194509250565b5f5f60408385031215610ce1575f5ffd5b610cea83610a81565b9150610cf860208401610a81565b90509250929050565b600181811c90821680610d1557607f821691505b602082108103610d3357634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b5f81610d5b57610d5b610d39565b505f190190565b5f60018201610d7357610d73610d39565b5060010190565b5f60208284031215610d8a575f5ffd5b8151610a23816109f0565b601f82111561076e57805f5260205f20601f840160051c81016020851015610dba5750805b601f840160051c820191505b81811015610dd9575f8155600101610dc6565b5050505050565b815167ffffffffffffffff811115610dfa57610dfa610af9565b610e0e81610e088454610d01565b84610d95565b6020601f821160018114610e40575f8315610e295750848201515b5f19600385901b1c1916600184901b178455610dd9565b5f84815260208120601f198516915b82811015610e6f5787850151825560209485019460019092019101610e4f565b5084821015610e8c57868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90610ecd90830184610a2a565b969550505050505056fea264697066735822122060662b2019429c4677187ba955663a1f46c65288999500881684e853e0e5011464736f6c634300081e0033","sourceMap":"403:7498:33:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5376:332;;;;;;;;;;-1:-1:-1;5376:332:33;;;;;:::i;:::-;;:::i;:::-;;;565:14:173;;558:22;540:41;;528:2;513:18;5376:332:33;;;;;;;;693:92;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;1949:120::-;;;;;;;;;;-1:-1:-1;1949:120:33;;;;;:::i;:::-;2020:7;2046:16;;;:12;:16;;;;;;-1:-1:-1;;;;;2046:16:33;;1949:120;;;;-1:-1:-1;;;;;1506:32:173;;;1488:51;;1476:2;1461:18;1949:120:33;1342:203:173;3128:301:33;;;;;;:::i;:::-;;:::i;:::-;;3654:693;;;;;;:::i;:::-;;:::i;4353:386::-;;;;;;:::i;:::-;;:::i;2728:212::-;;;;;;;;;;-1:-1:-1;2728:212:33;;;;;:::i;:::-;;:::i;1280:158::-;;;;;;;;;;-1:-1:-1;1280:158:33;;;;;:::i;:::-;;:::i;1444:177::-;;;;;;;;;;-1:-1:-1;1444:177:33;;;;;:::i;:::-;;:::i;:::-;;;4372:25:173;;;4360:2;4345:18;1444:177:33;4226::173;791:96:33;;;;;;;;;;;;;:::i;3435:213::-;;;;;;;;;;-1:-1:-1;3435:213:33;;;;;:::i;:::-;;:::i;4745:443::-;;;;;;:::i;:::-;;:::i;893:85::-;;;;;;;;;;-1:-1:-1;893:85:33;;;;;:::i;:::-;-1:-1:-1;961:13:33;;893:85;2075:161;;;;;;;;;;-1:-1:-1;2075:161:33;;;;;:::i;:::-;-1:-1:-1;;;;;2195:24:33;;;2172:4;2195:24;;;:17;:24;;;;;;;;:34;;;;;;;;;;;;;;;2075:161;5376:332;5461:4;-1:-1:-1;;;;;;;;;5484:25:33;;;;:100;;-1:-1:-1;;;;;;;;;;5559:25:33;;;5484:100;:175;;;-1:-1:-1;;;;;;;;;;5634:25:33;;;5484:175;5477:182;5376:332;-1:-1:-1;;5376:332:33:o;693:92::-;741:13;773:5;766:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;693:92;:::o;3128:301::-;3216:13;3232:12;;;:8;:12;;;;;;-1:-1:-1;;;;;3232:12:33;3263:10;:19;;;:59;;-1:-1:-1;;;;;;3286:24:33;;;;;;:17;:24;;;;;;;;3311:10;3286:36;;;;;;;;;;3263:59;3255:86;;;;-1:-1:-1;;;3255:86:33;;6330:2:173;3255:86:33;;;6312:21:173;6369:2;6349:18;;;6342:30;-1:-1:-1;;;6388:18:173;;;6381:44;6442:18;;3255:86:33;;;;;;;;;3352:16;;;;:12;:16;;;;;;:26;;-1:-1:-1;;;;;;3352:26:33;-1:-1:-1;;;;;3352:26:33;;;;;;;;;3394:28;;3352:16;;3394:28;;;;;;;3206:223;3128:301;;:::o;3654:693::-;3772:12;;;;:8;:12;;;;;;-1:-1:-1;;;;;3764:20:33;;;3772:12;;3764:20;3756:43;;;;-1:-1:-1;;;3756:43:33;;6673:2:173;3756:43:33;;;6655:21:173;6712:2;6692:18;;;6685:30;-1:-1:-1;;;6731:18:173;;;6724:40;6781:18;;3756:43:33;6471:334:173;3756:43:33;-1:-1:-1;;;;;3818:16:33;;3810:46;;;;-1:-1:-1;;;3810:46:33;;7012:2:173;3810:46:33;;;6994:21:173;7051:2;7031:18;;;7024:30;-1:-1:-1;;;7070:18:173;;;7063:47;7127:18;;3810:46:33;6810:341:173;3810:46:33;3888:10;-1:-1:-1;;;;;3888:18:33;;;;:57;;-1:-1:-1;;;;;;3910:23:33;;;;;;:17;:23;;;;;;;;3934:10;3910:35;;;;;;;;;;3888:57;:91;;;-1:-1:-1;3963:16:33;;;;:12;:16;;;;;;-1:-1:-1;;;;;3963:16:33;3949:10;:30;3888:91;3867:152;;;;-1:-1:-1;;;3867:152:33;;6330:2:173;3867:152:33;;;6312:21:173;6369:2;6349:18;;;6342:30;-1:-1:-1;;;6388:18:173;;;6381:44;6442:18;;3867:152:33;6128:338:173;3867:152:33;-1:-1:-1;;;;;4195:16:33;;;;;;:10;:16;;;;;:18;;;;;;:::i;:::-;;;;-1:-1:-1;;;;;;;4224:14:33;;;;;;:10;:14;;;;;:16;;;;;;:::i;:::-;;;;-1:-1:-1;;4251:12:33;;;;:8;:12;;;;;;;;:17;;-1:-1:-1;;;;;4251:17:33;;;-1:-1:-1;;;;;;4251:17:33;;;;;;;;4286:12;:16;;;;;;4279:23;;;;;;;4318:22;;4260:2;;4251:17;;4318:22;;;;;;3654:693;;;:::o;4353:386::-;4459:26;4472:4;4478:2;4482;4459:12;:26::i;:::-;7833:18;;7878:14;;4517:173;;-1:-1:-1;4553:67:33;;-1:-1:-1;;;4553:67:33;;;4595:10;4553:67;;;7836:51:173;-1:-1:-1;;;;;7923:32:173;;;7903:18;;;7896:60;7972:18;;;7965:34;;;8035:3;8015:18;;;8008:31;-1:-1:-1;8055:19:173;;;8048:30;4644:46:33;;4553:41;;;;4644:46;;8095:19:173;;4553:67:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;4553:137:33;;4517:173;4496:236;;;;-1:-1:-1;;;4496:236:33;;8581:2:173;4496:236:33;;;8563:21:173;8620:2;8600:18;;;8593:30;-1:-1:-1;;;8639:18:173;;;8632:46;8695:18;;4496:236:33;8379:340:173;4496:236:33;4353:386;;;:::o;2728:212::-;2818:11;;;;2817:12;2809:44;;;;-1:-1:-1;;;2809:44:33;;8926:2:173;2809:44:33;;;8908:21:173;8965:2;8945:18;;;8938:30;-1:-1:-1;;;8984:18:173;;;8977:49;9043:18;;2809:44:33;8724:343:173;2809:44:33;2864:5;:13;2872:5;2864;:13;:::i;:::-;-1:-1:-1;2887:7:33;:17;2897:7;2887;:17;:::i;:::-;-1:-1:-1;;2915:11:33;:18;;-1:-1:-1;;2915:18:33;2929:4;2915:18;;;-1:-1:-1;2728:212:33:o;1280:158::-;1347:13;1389:12;;;:8;:12;;;;;;-1:-1:-1;;;;;1389:12:33;;1372:59;;;;-1:-1:-1;;;1372:59:33;;11398:2:173;1372:59:33;;;11380:21:173;11437:2;11417:18;;;11410:30;-1:-1:-1;;;11456:18:173;;;11449:40;11506:18;;1372:59:33;11196:334:173;1372:59:33;1280:158;;;:::o;1444:177::-;1516:7;-1:-1:-1;;;;;1543:19:33;;1535:44;;;;-1:-1:-1;;;1535:44:33;;11737:2:173;1535:44:33;;;11719:21:173;11776:2;11756:18;;;11749:30;-1:-1:-1;;;11795:18:173;;;11788:42;11847:18;;1535:44:33;11535:336:173;1535:44:33;-1:-1:-1;;;;;;1597:17:33;;;;;:10;:17;;;;;;;1444:177::o;791:96::-;841:13;873:7;866:14;;;;;:::i;3435:213::-;3547:10;3529:29;;;;:17;:29;;;;;;;;-1:-1:-1;;;;;3529:39:33;;;;;;;;;;;;:50;;-1:-1:-1;;3529:50:33;;;;;;;;;;3595:46;;540:41:173;;;3529:39:33;;3547:10;3595:46;;513:18:173;3595:46:33;;;;;;;3435:213;;:::o;4745:443::-;4906:26;4919:4;4925:2;4929;4906:12;:26::i;:::-;7833:18;;7878:14;;4964:175;;-1:-1:-1;5000:69:33;;-1:-1:-1;;;5000:69:33;;;5093:46;-1:-1:-1;;;;;5000:41:33;;;5093:46;;5000:69;;5042:10;;5054:4;;5060:2;;5064:4;;5000:69;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;5000:139:33;;4964:175;4943:238;;;;-1:-1:-1;;;4943:238:33;;8581:2:173;4943:238:33;;;8563:21:173;8620:2;8600:18;;;8593:30;-1:-1:-1;;;8639:18:173;;;8632:46;8695:18;;4943:238:33;8379:340:173;4943:238:33;4745:443;;;;:::o;14:131:173:-;-1:-1:-1;;;;;;88:32:173;;78:43;;68:71;;135:1;132;125:12;68:71;14:131;:::o;150:245::-;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;:::-;384:5;150:245;-1:-1:-1;;;150:245:173:o;592:289::-;634:3;672:5;666:12;699:6;694:3;687:19;755:6;748:4;741:5;737:16;730:4;725:3;721:14;715:47;807:1;800:4;791:6;786:3;782:16;778:27;771:38;870:4;863:2;859:7;854:2;846:6;842:15;838:29;833:3;829:39;825:50;818:57;;;592:289;;;;:::o;886:220::-;1035:2;1024:9;1017:21;998:4;1055:45;1096:2;1085:9;1081:18;1073:6;1055:45;:::i;1111:226::-;1170:6;1223:2;1211:9;1202:7;1198:23;1194:32;1191:52;;;1239:1;1236;1229:12;1191:52;-1:-1:-1;1284:23:173;;1111:226;-1:-1:-1;1111:226:173:o;1550:173::-;1618:20;;-1:-1:-1;;;;;1667:31:173;;1657:42;;1647:70;;1713:1;1710;1703:12;1728:300;1796:6;1804;1857:2;1845:9;1836:7;1832:23;1828:32;1825:52;;;1873:1;1870;1863:12;1825:52;1896:29;1915:9;1896:29;:::i;:::-;1886:39;1994:2;1979:18;;;;1966:32;;-1:-1:-1;;;1728:300:173:o;2033:374::-;2110:6;2118;2126;2179:2;2167:9;2158:7;2154:23;2150:32;2147:52;;;2195:1;2192;2185:12;2147:52;2218:29;2237:9;2218:29;:::i;:::-;2208:39;;2266:38;2300:2;2289:9;2285:18;2266:38;:::i;:::-;2033:374;;2256:48;;-1:-1:-1;;;2373:2:173;2358:18;;;;2345:32;;2033:374::o;2412:127::-;2473:10;2468:3;2464:20;2461:1;2454:31;2504:4;2501:1;2494:15;2528:4;2525:1;2518:15;2544:716;2609:5;2641:1;2665:18;2657:6;2654:30;2651:56;;;2687:18;;:::i;:::-;-1:-1:-1;2842:2:173;2836:9;-1:-1:-1;;2755:2:173;2734:15;;2730:29;;2900:2;2888:15;2884:29;2872:42;;2965:22;;;2944:18;2929:34;;2926:62;2923:88;;;2991:18;;:::i;:::-;3027:2;3020:22;3075;;;3060:6;-1:-1:-1;3060:6:173;3112:16;;;3109:25;-1:-1:-1;3106:45:173;;;3147:1;3144;3137:12;3106:45;3197:6;3192:3;3185:4;3177:6;3173:17;3160:44;3252:1;3245:4;3236:6;3228;3224:19;3220:30;3213:41;;2544:716;;;;;:::o;3265:222::-;3308:5;3361:3;3354:4;3346:6;3342:17;3338:27;3328:55;;3379:1;3376;3369:12;3328:55;3401:80;3477:3;3468:6;3455:20;3448:4;3440:6;3436:17;3401:80;:::i;3492:538::-;3580:6;3588;3641:2;3629:9;3620:7;3616:23;3612:32;3609:52;;;3657:1;3654;3647:12;3609:52;3697:9;3684:23;3730:18;3722:6;3719:30;3716:50;;;3762:1;3759;3752:12;3716:50;3785;3827:7;3818:6;3807:9;3803:22;3785:50;:::i;:::-;3775:60;;;3888:2;3877:9;3873:18;3860:32;3917:18;3907:8;3904:32;3901:52;;;3949:1;3946;3939:12;3901:52;3972;4016:7;4005:8;3994:9;3990:24;3972:52;:::i;:::-;3962:62;;;3492:538;;;;;:::o;4035:186::-;4094:6;4147:2;4135:9;4126:7;4122:23;4118:32;4115:52;;;4163:1;4160;4153:12;4115:52;4186:29;4205:9;4186:29;:::i;4408:347::-;4473:6;4481;4534:2;4522:9;4513:7;4509:23;4505:32;4502:52;;;4550:1;4547;4540:12;4502:52;4573:29;4592:9;4573:29;:::i;:::-;4563:39;;4652:2;4641:9;4637:18;4624:32;4699:5;4692:13;4685:21;4678:5;4675:32;4665:60;;4721:1;4718;4711:12;4665:60;4744:5;4734:15;;;4408:347;;;;;:::o;4760:713::-;4855:6;4863;4871;4879;4932:3;4920:9;4911:7;4907:23;4903:33;4900:53;;;4949:1;4946;4939:12;4900:53;4972:29;4991:9;4972:29;:::i;:::-;4962:39;;5020:38;5054:2;5043:9;5039:18;5020:38;:::i;:::-;5010:48;-1:-1:-1;5127:2:173;5112:18;;5099:32;;-1:-1:-1;5206:2:173;5191:18;;5178:32;5233:18;5222:30;;5219:50;;;5265:1;5262;5255:12;5219:50;5288:22;;5341:4;5333:13;;5329:27;-1:-1:-1;5319:55:173;;5370:1;5367;5360:12;5319:55;5393:74;5459:7;5454:2;5441:16;5436:2;5432;5428:11;5393:74;:::i;:::-;5383:84;;;4760:713;;;;;;;:::o;5478:260::-;5546:6;5554;5607:2;5595:9;5586:7;5582:23;5578:32;5575:52;;;5623:1;5620;5613:12;5575:52;5646:29;5665:9;5646:29;:::i;:::-;5636:39;;5694:38;5728:2;5717:9;5713:18;5694:38;:::i;:::-;5684:48;;5478:260;;;;;:::o;5743:380::-;5822:1;5818:12;;;;5865;;;5886:61;;5940:4;5932:6;5928:17;5918:27;;5886:61;5993:2;5985:6;5982:14;5962:18;5959:38;5956:161;;6039:10;6034:3;6030:20;6027:1;6020:31;6074:4;6071:1;6064:15;6102:4;6099:1;6092:15;5956:161;;5743:380;;;:::o;7156:127::-;7217:10;7212:3;7208:20;7205:1;7198:31;7248:4;7245:1;7238:15;7272:4;7269:1;7262:15;7288:136;7327:3;7355:5;7345:39;;7364:18;;:::i;:::-;-1:-1:-1;;;7400:18:173;;7288:136::o;7429:135::-;7468:3;7489:17;;;7486:43;;7509:18;;:::i;:::-;-1:-1:-1;7556:1:173;7545:13;;7429:135::o;8125:249::-;8194:6;8247:2;8235:9;8226:7;8222:23;8218:32;8215:52;;;8263:1;8260;8253:12;8215:52;8295:9;8289:16;8314:30;8338:5;8314:30;:::i;9198:518::-;9300:2;9295:3;9292:11;9289:421;;;9336:5;9333:1;9326:16;9380:4;9377:1;9367:18;9450:2;9438:10;9434:19;9431:1;9427:27;9421:4;9417:38;9486:4;9474:10;9471:20;9468:47;;;-1:-1:-1;9509:4:173;9468:47;9564:2;9559:3;9555:12;9552:1;9548:20;9542:4;9538:31;9528:41;;9619:81;9637:2;9630:5;9627:13;9619:81;;;9696:1;9682:16;;9663:1;9652:13;9619:81;;;9623:3;;9198:518;;;:::o;9892:1299::-;10018:3;10012:10;10045:18;10037:6;10034:30;10031:56;;;10067:18;;:::i;:::-;10096:97;10186:6;10146:38;10178:4;10172:11;10146:38;:::i;:::-;10140:4;10096:97;:::i;:::-;10242:4;10273:2;10262:14;;10290:1;10285:649;;;;10978:1;10995:6;10992:89;;;-1:-1:-1;11047:19:173;;;11041:26;10992:89;-1:-1:-1;;9849:1:173;9845:11;;;9841:24;9837:29;9827:40;9873:1;9869:11;;;9824:57;11094:81;;10255:930;;10285:649;9145:1;9138:14;;;9182:4;9169:18;;-1:-1:-1;;10321:20:173;;;10439:222;10453:7;10450:1;10447:14;10439:222;;;10535:19;;;10529:26;10514:42;;10642:4;10627:20;;;;10595:1;10583:14;;;;10469:12;10439:222;;;10443:3;10689:6;10680:7;10677:19;10674:201;;;10750:19;;;10744:26;-1:-1:-1;;10833:1:173;10829:14;;;10845:3;10825:24;10821:37;10817:42;10802:58;10787:74;;10674:201;-1:-1:-1;;;;10921:1:173;10905:14;;;10901:22;10888:36;;-1:-1:-1;9892:1299:173:o;11876:485::-;-1:-1:-1;;;;;12107:32:173;;;12089:51;;12176:32;;12171:2;12156:18;;12149:60;12240:2;12225:18;;12218:34;;;12288:3;12283:2;12268:18;;12261:31;;;-1:-1:-1;;12309:46:173;;12335:19;;12327:6;12309:46;:::i;:::-;12301:54;11876:485;-1:-1:-1;;;;;;11876:485:173:o","linkReferences":{}},"methodIdentifiers":{"approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","getApproved(uint256)":"081812fc","initialize(string,string)":"4cd88b76","isApprovedForAll(address,address)":"e985e9c5","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.30+commit.73712a01\"},\"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\":\"_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\":\"payable\",\"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\":\"id\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"name\":\"initialize\",\"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\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"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\":\"id\",\"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\":\"id\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Forked from: https://github.com/transmissions11/solmate/blob/0384dbaaa4fcb5715738a9254a7c0a4cb62cf458/src/tokens/ERC721.sol\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"This emits when the approved address for an NFT is changed or reaffirmed. The zero address indicates there is no approved address. When a Transfer event emits, this also indicates that the approved address for that NFT (if any) is reset to none.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"This emits when an operator is enabled or disabled for an owner. The operator can manage all NFTs of the owner.\"},\"Transfer(address,address,uint256)\":{\"details\":\"This emits when ownership of any NFT changes by any mechanism. This event emits when NFTs are created (`from` == 0) and destroyed (`to` == 0). Exception: during contract creation, any number of NFTs may be created and assigned without emitting Transfer. At the time of any transfer, the approved address for that NFT (if any) is reset to none.\"}},\"kind\":\"dev\",\"methods\":{\"initialize(string,string)\":{\"details\":\"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once.\"}},\"stateVariables\":{\"initialized\":{\"details\":\"A bool to track whether the contract has been initialized.\"}},\"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\"}},\"notice\":\"This is a mock contract of the ERC721 standard for testing purposes only, it SHOULD NOT be used in production.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/mocks/MockERC721.sol\":\"MockERC721\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@aztec-blob-lib/=src/mock/libraries/\",\":@aztec/=src/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@oz/=lib/openzeppelin-contracts/contracts/\",\":@test/=test/\",\":@zkpassport-test/=lib/circuits/src/solidity/test/\",\":@zkpassport/=lib/circuits/src/solidity/src/\",\":circuits/=lib/circuits/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"]},\"sources\":{\"lib/forge-std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib/forge-std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib/forge-std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87\",\"dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.30+commit.73712a01"},"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":"_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":"payable","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":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"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":"id","type":"uint256"}],"stateMutability":"view","type":"function","name":"ownerOf","outputs":[{"internalType":"address","name":"owner","type":"address"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"safeTransferFrom"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","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":"id","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":"id","type":"uint256"}],"stateMutability":"payable","type":"function","name":"transferFrom"}],"devdoc":{"kind":"dev","methods":{"initialize(string,string)":{"details":"To hide constructor warnings across solc versions due to different constructor visibility requirements and syntaxes, we add an initialization function that can be called only once."}},"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"}},"version":1}},"settings":{"remappings":["@aztec-blob-lib/=src/mock/libraries/","@aztec/=src/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@oz/=lib/openzeppelin-contracts/contracts/","@test/=test/","@zkpassport-test/=lib/circuits/src/solidity/test/","@zkpassport/=lib/circuits/src/solidity/src/","circuits/=lib/circuits/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","halmos-cheatcodes/=lib/openzeppelin-contracts/lib/halmos-cheatcodes/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/mocks/MockERC721.sol":"MockERC721"},"evmVersion":"prague","libraries":{}},"sources":{"lib/forge-std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib/forge-std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib/forge-std/src/mocks/MockERC721.sol":{"keccak256":"0xbfbb755bb379f58b97699f7cda0e9a2b9113daaa072e41b280a5ce6a3bff44c9","urls":["bzz-raw://5ae0c31d29db14d6a0e9b62d33d550feb307f48a6f45068901a013321f337f87","dweb:/ipfs/QmX25DVXW6XZDvRm6SNBGCWrZQ6oNhdq5CmgtVocvsUdwv"],"license":"MIT"}},"version":1},"id":33}