{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC3525MetadataDescriptorUpgradeableWithInit",
  "sourceName": "contracts/mocks/ERC3525BaseMockUpgradeableWithInit.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "payable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint8",
          "name": "version",
          "type": "uint8"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "constructContractURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "slot_",
          "type": "uint256"
        }
      ],
      "name": "constructSlotURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId_",
          "type": "uint256"
        }
      ],
      "name": "constructTokenURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6080604052600054610100900460ff16158080156100245750600054600160ff909116105b8061004f575061003d3061012e60201b6103751760201c565b15801561004f575060005460ff166001145b6100b75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156100da576000805461ff0019166101001790555b6100e261013d565b8015610128576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b506101aa565b6001600160a01b03163b151590565b600054610100900460ff166101a85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b60648201526084016100ae565b565b610c90806101b96000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80636c037f8a14610046578063725fa09c1461006f578063894b4c2e14610077575b600080fd5b610059610054366004610662565b61008a565b60405161006691906106ab565b60405180910390f35b61005961011c565b610059610085366004610662565b61024f565b60606100f66100a460408051602081019091526000815290565b60408051602080820183526000808352835180830185529081528351808501855260028152615b5d60f01b8184015293516100e295949192016106fa565b604051602081830303815290604052610384565b60405160200161010691906107c8565b6040516020818303038152906040529050919050565b6060600033905061022a816001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610164573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261018c9190810190610823565b604080516020810190915260008152604080516020810190915260008152610217856001600160a01b0316633e7e86696040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f91906108d0565b60ff166104d7565b6040516020016100e294939291906108fa565b60405160200161023a91906107c8565b60405160208183030381529060405291505090565b60603361034e61025e846105e0565b604080516020810190915260008152604080516020810190915260008152604051631398fee160e31b8152600481018890526102ef906001600160a01b03871690639cc7f708906024015b602060405180830381865afa1580156102c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ea91906109cd565b6104d7565b60405163131f9f3f60e11b815260048101899052610320906001600160a01b0388169063263f3e7e906024016102a9565b6040805180820190915260028152617b7d60f01b60208201526040516020016100e2969594939291906109e6565b60405160200161035e91906107c8565b604051602081830303815290604052915050919050565b6001600160a01b03163b151590565b606081516000036103a357505060408051602081019091526000815290565b6000604051806060016040528060408152602001610c1b60409139905060006003845160026103d29190610b22565b6103dc9190610b50565b6103e7906004610b64565b67ffffffffffffffff8111156103ff576103ff61080d565b6040519080825280601f01601f191660200182016040528015610429576020820181803683370190505b509050600182016020820185865187015b80821015610495576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061043a565b50506003865106600181146104b157600281146104c4576104cc565b603d6001830353603d60028303536104cc565b603d60018303535b509195945050505050565b6060816000036104fe5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610528578061051281610b83565b91506105219050600a83610b50565b9150610502565b60008167ffffffffffffffff8111156105435761054361080d565b6040519080825280601f01601f19166020018201604052801561056d576020820181803683370190505b5090505b84156105d857610582600183610b9c565b915061058f600a86610bb3565b61059a906030610b22565b60f81b8183815181106105af576105af610bc7565b60200101906001600160f81b031916908160001a9053506105d1600a86610b50565b9450610571565b949350505050565b6060336001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106489190810190610823565b610651836104d7565b604051602001610106929190610bdd565b60006020828403121561067457600080fd5b5035919050565b60005b8381101561069657818101518382015260200161067e565b838111156106a5576000848401525b50505050565b60208152600082518060208401526106ca81604085016020870161067b565b601f01601f19169190910160400192915050565b600081516106f081856020860161067b565b9290920192915050565b683d913730b6b2911d1160b91b8152845160009061071f816009850160208a0161067b565b701116113232b9b1b934b83a34b7b7111d1160791b600991840191820152855161075081601a840160208a0161067b565b6a11161134b6b0b3b2911d1160a91b601a9290910191820152845161077c81602584016020890161067b565b6e111611383937b832b93a34b2b9911d60891b6025929091019182015283516107ac81603484016020880161067b565b607d60f81b603492909101918201526035019695505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161080081601d85016020870161067b565b91909101601d0192915050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561083557600080fd5b815167ffffffffffffffff8082111561084d57600080fd5b818401915084601f83011261086157600080fd5b8151818111156108735761087361080d565b604051601f8201601f19908116603f0116810190838211818310171561089b5761089b61080d565b816040528281528760208487010111156108b457600080fd5b6108c583602083016020880161067b565b979650505050505050565b6000602082840312156108e257600080fd5b815160ff811681146108f357600080fd5b9392505050565b683d913730b6b2911d1160b91b8152845160009061091f816009850160208a0161067b565b701116113232b9b1b934b83a34b7b7111d1160791b600991840191820152855161095081601a840160208a0161067b565b6a11161134b6b0b3b2911d1160a91b601a9290910191820152845161097c81602584016020890161067b565b721116113b30b63ab2a232b1b4b6b0b639911d1160691b6025929091019182015283516109b081603884016020880161067b565b61227d60f01b60389290910191820152603a019695505050505050565b6000602082840312156109df57600080fd5b5051919050565b683d913730b6b2911d1160b91b81528651600090610a0b816009850160208c0161067b565b701116113232b9b1b934b83a34b7b7111d1160791b6009918401918201528751610a3c81601a840160208c0161067b565b6a11161134b6b0b3b2911d1160a91b601a92909101918201528651610a68816025840160208b0161067b565b6c1116113130b630b731b2911d1160991b602592909101918201528551610a96816032840160208a0161067b565b6911161139b637ba111d1160b11b603292909101918201528451610ac181603c84016020890161067b565b610afe610af1610aeb603c848601016e111611383937b832b93a34b2b9911d60891b8152600f0190565b876106de565b607d60f81b815260010190565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610b3557610b35610b0c565b500190565b634e487b7160e01b600052601260045260246000fd5b600082610b5f57610b5f610b3a565b500490565b6000816000190483118215151615610b7e57610b7e610b0c565b500290565b600060018201610b9557610b95610b0c565b5060010190565b600082821015610bae57610bae610b0c565b500390565b600082610bc257610bc2610b3a565b500690565b634e487b7160e01b600052603260045260246000fd5b60008351610bef81846020880161067b565b61202360f01b9083019081528351610c0e81600284016020880161067b565b0160020194935050505056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122047afe6d2664bd62a1aa2b69480c25a11d61d5791330032eaf6e599b0feee352264736f6c634300080f0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100415760003560e01c80636c037f8a14610046578063725fa09c1461006f578063894b4c2e14610077575b600080fd5b610059610054366004610662565b61008a565b60405161006691906106ab565b60405180910390f35b61005961011c565b610059610085366004610662565b61024f565b60606100f66100a460408051602081019091526000815290565b60408051602080820183526000808352835180830185529081528351808501855260028152615b5d60f01b8184015293516100e295949192016106fa565b604051602081830303815290604052610384565b60405160200161010691906107c8565b6040516020818303038152906040529050919050565b6060600033905061022a816001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610164573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261018c9190810190610823565b604080516020810190915260008152604080516020810190915260008152610217856001600160a01b0316633e7e86696040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f91906108d0565b60ff166104d7565b6040516020016100e294939291906108fa565b60405160200161023a91906107c8565b60405160208183030381529060405291505090565b60603361034e61025e846105e0565b604080516020810190915260008152604080516020810190915260008152604051631398fee160e31b8152600481018890526102ef906001600160a01b03871690639cc7f708906024015b602060405180830381865afa1580156102c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102ea91906109cd565b6104d7565b60405163131f9f3f60e11b815260048101899052610320906001600160a01b0388169063263f3e7e906024016102a9565b6040805180820190915260028152617b7d60f01b60208201526040516020016100e2969594939291906109e6565b60405160200161035e91906107c8565b604051602081830303815290604052915050919050565b6001600160a01b03163b151590565b606081516000036103a357505060408051602081019091526000815290565b6000604051806060016040528060408152602001610c1b60409139905060006003845160026103d29190610b22565b6103dc9190610b50565b6103e7906004610b64565b67ffffffffffffffff8111156103ff576103ff61080d565b6040519080825280601f01601f191660200182016040528015610429576020820181803683370190505b509050600182016020820185865187015b80821015610495576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f811685015184535060018301925061043a565b50506003865106600181146104b157600281146104c4576104cc565b603d6001830353603d60028303536104cc565b603d60018303535b509195945050505050565b6060816000036104fe5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610528578061051281610b83565b91506105219050600a83610b50565b9150610502565b60008167ffffffffffffffff8111156105435761054361080d565b6040519080825280601f01601f19166020018201604052801561056d576020820181803683370190505b5090505b84156105d857610582600183610b9c565b915061058f600a86610bb3565b61059a906030610b22565b60f81b8183815181106105af576105af610bc7565b60200101906001600160f81b031916908160001a9053506105d1600a86610b50565b9450610571565b949350505050565b6060336001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa158015610620573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106489190810190610823565b610651836104d7565b604051602001610106929190610bdd565b60006020828403121561067457600080fd5b5035919050565b60005b8381101561069657818101518382015260200161067e565b838111156106a5576000848401525b50505050565b60208152600082518060208401526106ca81604085016020870161067b565b601f01601f19169190910160400192915050565b600081516106f081856020860161067b565b9290920192915050565b683d913730b6b2911d1160b91b8152845160009061071f816009850160208a0161067b565b701116113232b9b1b934b83a34b7b7111d1160791b600991840191820152855161075081601a840160208a0161067b565b6a11161134b6b0b3b2911d1160a91b601a9290910191820152845161077c81602584016020890161067b565b6e111611383937b832b93a34b2b9911d60891b6025929091019182015283516107ac81603484016020880161067b565b607d60f81b603492909101918201526035019695505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c00000081526000825161080081601d85016020870161067b565b91909101601d0192915050565b634e487b7160e01b600052604160045260246000fd5b60006020828403121561083557600080fd5b815167ffffffffffffffff8082111561084d57600080fd5b818401915084601f83011261086157600080fd5b8151818111156108735761087361080d565b604051601f8201601f19908116603f0116810190838211818310171561089b5761089b61080d565b816040528281528760208487010111156108b457600080fd5b6108c583602083016020880161067b565b979650505050505050565b6000602082840312156108e257600080fd5b815160ff811681146108f357600080fd5b9392505050565b683d913730b6b2911d1160b91b8152845160009061091f816009850160208a0161067b565b701116113232b9b1b934b83a34b7b7111d1160791b600991840191820152855161095081601a840160208a0161067b565b6a11161134b6b0b3b2911d1160a91b601a9290910191820152845161097c81602584016020890161067b565b721116113b30b63ab2a232b1b4b6b0b639911d1160691b6025929091019182015283516109b081603884016020880161067b565b61227d60f01b60389290910191820152603a019695505050505050565b6000602082840312156109df57600080fd5b5051919050565b683d913730b6b2911d1160b91b81528651600090610a0b816009850160208c0161067b565b701116113232b9b1b934b83a34b7b7111d1160791b6009918401918201528751610a3c81601a840160208c0161067b565b6a11161134b6b0b3b2911d1160a91b601a92909101918201528651610a68816025840160208b0161067b565b6c1116113130b630b731b2911d1160991b602592909101918201528551610a96816032840160208a0161067b565b6911161139b637ba111d1160b11b603292909101918201528451610ac181603c84016020890161067b565b610afe610af1610aeb603c848601016e111611383937b832b93a34b2b9911d60891b8152600f0190565b876106de565b607d60f81b815260010190565b9a9950505050505050505050565b634e487b7160e01b600052601160045260246000fd5b60008219821115610b3557610b35610b0c565b500190565b634e487b7160e01b600052601260045260246000fd5b600082610b5f57610b5f610b3a565b500490565b6000816000190483118215151615610b7e57610b7e610b0c565b500290565b600060018201610b9557610b95610b0c565b5060010190565b600082821015610bae57610bae610b0c565b500390565b600082610bc257610bc2610b3a565b500690565b634e487b7160e01b600052603260045260246000fd5b60008351610bef81846020880161067b565b61202360f01b9083019081528351610c0e81600284016020880161067b565b0160020194935050505056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122047afe6d2664bd62a1aa2b69480c25a11d61d5791330032eaf6e599b0feee352264736f6c634300080f0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
