{
  "_format": "hh-sol-artifact-1",
  "contractName": "CredenzaNftFactory",
  "sourceName": "contracts/factory-nft/CredenzaNftFactory.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "name_",
          "type": "string"
        },
        {
          "internalType": "string",
          "name": "symbol_",
          "type": "string"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "approved",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "ApprovalForAll",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "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": "newOwner",
          "type": "address"
        }
      ],
      "name": "addOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "numberTokens",
          "type": "uint256"
        }
      ],
      "name": "dropNFTBatch",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "getApproved",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getVersion",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "isApprovedForAll",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "isOwner",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        }
      ],
      "name": "mint",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ownerOf",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "removeOwner",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "setApprovalForAll",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes4",
          "name": "interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "tokenURI",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801562000010575f80fd5b50604051620017a0380380620017a0833981016040819052620000339162000134565b81815f62000042838262000226565b50600162000051828262000226565b5050335f908152600660205260409020805460ff1916600117905550620002ee915050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f8301126200009a575f80fd5b81516001600160401b0380821115620000b757620000b762000076565b604051601f8301601f19908116603f01168101908282118183101715620000e257620000e262000076565b81604052838152602092508683858801011115620000fe575f80fd5b5f91505b8382101562000121578582018301518183018401529082019062000102565b5f93810190920192909252949350505050565b5f806040838503121562000146575f80fd5b82516001600160401b03808211156200015d575f80fd5b6200016b868387016200008a565b9350602085015191508082111562000181575f80fd5b5062000190858286016200008a565b9150509250929050565b600181811c90821680620001af57607f821691505b602082108103620001ce57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000221575f81815260208120601f850160051c81016020861015620001fc5750805b601f850160051c820191505b818110156200021d5782815560010162000208565b5050505b505050565b81516001600160401b0381111562000242576200024262000076565b6200025a816200025384546200019a565b84620001d4565b602080601f83116001811462000290575f8415620002785750858301515b5f19600386901b1c1916600185901b1785556200021d565b5f85815260208120601f198616915b82811015620002c0578886015182559484019460019091019084016200029f565b5085821015620002de57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b6114a480620002fc5f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c80636352211e116100a957806395d89b411161006e57806395d89b411461028f578063a22cb46514610297578063b88d4fde146102aa578063c87b56dd146102bd578063e985e9c5146102d0575f80fd5b80636352211e146102225780636a627842146102355780637065cb481461025657806370a08231146102695780637f56f5ec1461027c575f80fd5b80630d8e6e2c116100ef5780630d8e6e2c1461019d578063173825d9146101d657806323b872dd146101e95780632f54bf6e146101fc57806342842e0e1461020f575f80fd5b806301ffc9a71461012057806306fdde0314610148578063081812fc1461015d578063095ea7b314610188575b5f80fd5b61013361012e36600461100f565b61030b565b60405190151581526020015b60405180910390f35b61015061035c565b60405161013f9190611077565b61017061016b366004611089565b6103eb565b6040516001600160a01b03909116815260200161013f565b61019b6101963660046110b6565b610410565b005b60408051808201909152601a81527f43726564656e7a614e6674466163746f7279207620302e302e310000000000006020820152610150565b61019b6101e43660046110de565b610529565b61019b6101f73660046110f7565b61056e565b61013361020a3660046110de565b61059f565b61019b61021d3660046110f7565b6105bc565b610170610230366004611089565b6105d6565b6102486102433660046110de565b610635565b60405190815260200161013f565b61019b6102643660046110de565b610684565b6102486102773660046110de565b6106cc565b61019b61028a3660046110b6565b610750565b61015061079b565b61019b6102a5366004611130565b6107aa565b61019b6102b836600461117d565b6107b9565b6101506102cb366004611089565b6107f1565b6101336102de366004611252565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b031982166380ac58cd60e01b148061033b57506001600160e01b03198216635b5e139f60e01b145b8061035657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60605f805461036a90611283565b80601f016020809104026020016040519081016040528092919081815260200182805461039690611283565b80156103e15780601f106103b8576101008083540402835291602001916103e1565b820191905f5260205f20905b8154815290600101906020018083116103c457829003601f168201915b5050505050905090565b5f6103f582610861565b505f908152600460205260409020546001600160a01b031690565b5f61041a826105d6565b9050806001600160a01b0316836001600160a01b03160361048c5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806104a857506104a881336102de565b61051a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610483565b61052483836108c2565b505050565b6105323361059f565b61054e5760405162461bcd60e51b8152600401610483906112bb565b6001600160a01b03165f908152600660205260409020805460ff19169055565b610578338261092f565b6105945760405162461bcd60e51b8152600401610483906112e1565b6105248383836109ac565b6001600160a01b03165f9081526006602052604090205460ff1690565b61052483838360405180602001604052805f8152506107b9565b5f818152600260205260408120546001600160a01b0316806103565760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610483565b5f61063f3361059f565b61065b5760405162461bcd60e51b8152600401610483906112bb565b610669600780546001019055565b5f61067360075490565b90506103568382610b0e565b919050565b61068d3361059f565b6106a95760405162461bcd60e51b8152600401610483906112bb565b6001600160a01b03165f908152600660205260409020805460ff19166001179055565b5f6001600160a01b0382166107355760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610483565b506001600160a01b03165f9081526003602052604090205490565b6107593361059f565b6107755760405162461bcd60e51b8152600401610483906112bb565b5f5b818110156105245761078883610635565b50806107938161132e565b915050610777565b60606001805461036a90611283565b6107b5338383610c96565b5050565b6107c3338361092f565b6107df5760405162461bcd60e51b8152600401610483906112e1565b6107eb84848484610d63565b50505050565b60606107fc82610861565b5f61081160408051602081019091525f815290565b90505f81511161082f5760405180602001604052805f81525061085a565b8061083984610d96565b60405160200161084a929190611352565b6040516020818303038152906040525b9392505050565b5f818152600260205260409020546001600160a01b03166108bf5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610483565b50565b5f81815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906108f6826105d6565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f8061093a836105d6565b9050806001600160a01b0316846001600160a01b0316148061098057506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b806109a45750836001600160a01b0316610999846103eb565b6001600160a01b0316145b949350505050565b826001600160a01b03166109bf826105d6565b6001600160a01b0316146109e55760405162461bcd60e51b815260040161048390611380565b6001600160a01b038216610a475760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610483565b826001600160a01b0316610a5a826105d6565b6001600160a01b031614610a805760405162461bcd60e51b815260040161048390611380565b5f81815260046020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526003855283862080545f1901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610b645760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610483565b5f818152600260205260409020546001600160a01b031615610bc85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610483565b5f818152600260205260409020546001600160a01b031615610c2c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610483565b6001600160a01b0382165f81815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603610cf75760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610483565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610d6e8484846109ac565b610d7a84848484610e26565b6107eb5760405162461bcd60e51b8152600401610483906113c5565b60605f610da283610f23565b60010190505f8167ffffffffffffffff811115610dc157610dc1611169565b6040519080825280601f01601f191660200182016040528015610deb576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610df557509392505050565b5f6001600160a01b0384163b15610f1857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610e69903390899088908890600401611417565b6020604051808303815f875af1925050508015610ea3575060408051601f3d908101601f19168201909252610ea091810190611453565b60015b610efe573d808015610ed0576040519150601f19603f3d011682016040523d82523d5f602084013e610ed5565b606091505b5080515f03610ef65760405162461bcd60e51b8152600401610483906113c5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506109a4565b506001949350505050565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610f615772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610f8d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610fab57662386f26fc10000830492506010015b6305f5e1008310610fc3576305f5e100830492506008015b6127108310610fd757612710830492506004015b60648310610fe9576064830492506002015b600a83106103565760010192915050565b6001600160e01b0319811681146108bf575f80fd5b5f6020828403121561101f575f80fd5b813561085a81610ffa565b5f5b8381101561104457818101518382015260200161102c565b50505f910152565b5f815180845261106381602086016020860161102a565b601f01601f19169290920160200192915050565b602081525f61085a602083018461104c565b5f60208284031215611099575f80fd5b5035919050565b80356001600160a01b038116811461067f575f80fd5b5f80604083850312156110c7575f80fd5b6110d0836110a0565b946020939093013593505050565b5f602082840312156110ee575f80fd5b61085a826110a0565b5f805f60608486031215611109575f80fd5b611112846110a0565b9250611120602085016110a0565b9150604084013590509250925092565b5f8060408385031215611141575f80fd5b61114a836110a0565b91506020830135801515811461115e575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215611190575f80fd5b611199856110a0565b93506111a7602086016110a0565b925060408501359150606085013567ffffffffffffffff808211156111ca575f80fd5b818701915087601f8301126111dd575f80fd5b8135818111156111ef576111ef611169565b604051601f8201601f19908116603f0116810190838211818310171561121757611217611169565b816040528281528a602084870101111561122f575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f8060408385031215611263575f80fd5b61126c836110a0565b915061127a602084016110a0565b90509250929050565b600181811c9082168061129757607f821691505b6020821081036112b557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b155b985d5d1a1bdc9a5e995960a21b604082015260600190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b5f6001820161134b57634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f835161136381846020880161102a565b83519083019061137781836020880161102a565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906114499083018461104c565b9695505050505050565b5f60208284031215611463575f80fd5b815161085a81610ffa56fea264697066735822122098dc1df0344c690e9026cc9afbcda7d07e8799d065e5be0e93f728a0959a991064736f6c63430008140033",
  "deployedBytecode": "0x608060405234801561000f575f80fd5b506004361061011c575f3560e01c80636352211e116100a957806395d89b411161006e57806395d89b411461028f578063a22cb46514610297578063b88d4fde146102aa578063c87b56dd146102bd578063e985e9c5146102d0575f80fd5b80636352211e146102225780636a627842146102355780637065cb481461025657806370a08231146102695780637f56f5ec1461027c575f80fd5b80630d8e6e2c116100ef5780630d8e6e2c1461019d578063173825d9146101d657806323b872dd146101e95780632f54bf6e146101fc57806342842e0e1461020f575f80fd5b806301ffc9a71461012057806306fdde0314610148578063081812fc1461015d578063095ea7b314610188575b5f80fd5b61013361012e36600461100f565b61030b565b60405190151581526020015b60405180910390f35b61015061035c565b60405161013f9190611077565b61017061016b366004611089565b6103eb565b6040516001600160a01b03909116815260200161013f565b61019b6101963660046110b6565b610410565b005b60408051808201909152601a81527f43726564656e7a614e6674466163746f7279207620302e302e310000000000006020820152610150565b61019b6101e43660046110de565b610529565b61019b6101f73660046110f7565b61056e565b61013361020a3660046110de565b61059f565b61019b61021d3660046110f7565b6105bc565b610170610230366004611089565b6105d6565b6102486102433660046110de565b610635565b60405190815260200161013f565b61019b6102643660046110de565b610684565b6102486102773660046110de565b6106cc565b61019b61028a3660046110b6565b610750565b61015061079b565b61019b6102a5366004611130565b6107aa565b61019b6102b836600461117d565b6107b9565b6101506102cb366004611089565b6107f1565b6101336102de366004611252565b6001600160a01b039182165f90815260056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b031982166380ac58cd60e01b148061033b57506001600160e01b03198216635b5e139f60e01b145b8061035657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60605f805461036a90611283565b80601f016020809104026020016040519081016040528092919081815260200182805461039690611283565b80156103e15780601f106103b8576101008083540402835291602001916103e1565b820191905f5260205f20905b8154815290600101906020018083116103c457829003601f168201915b5050505050905090565b5f6103f582610861565b505f908152600460205260409020546001600160a01b031690565b5f61041a826105d6565b9050806001600160a01b0316836001600160a01b03160361048c5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806104a857506104a881336102de565b61051a5760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608401610483565b61052483836108c2565b505050565b6105323361059f565b61054e5760405162461bcd60e51b8152600401610483906112bb565b6001600160a01b03165f908152600660205260409020805460ff19169055565b610578338261092f565b6105945760405162461bcd60e51b8152600401610483906112e1565b6105248383836109ac565b6001600160a01b03165f9081526006602052604090205460ff1690565b61052483838360405180602001604052805f8152506107b9565b5f818152600260205260408120546001600160a01b0316806103565760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610483565b5f61063f3361059f565b61065b5760405162461bcd60e51b8152600401610483906112bb565b610669600780546001019055565b5f61067360075490565b90506103568382610b0e565b919050565b61068d3361059f565b6106a95760405162461bcd60e51b8152600401610483906112bb565b6001600160a01b03165f908152600660205260409020805460ff19166001179055565b5f6001600160a01b0382166107355760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608401610483565b506001600160a01b03165f9081526003602052604090205490565b6107593361059f565b6107755760405162461bcd60e51b8152600401610483906112bb565b5f5b818110156105245761078883610635565b50806107938161132e565b915050610777565b60606001805461036a90611283565b6107b5338383610c96565b5050565b6107c3338361092f565b6107df5760405162461bcd60e51b8152600401610483906112e1565b6107eb84848484610d63565b50505050565b60606107fc82610861565b5f61081160408051602081019091525f815290565b90505f81511161082f5760405180602001604052805f81525061085a565b8061083984610d96565b60405160200161084a929190611352565b6040516020818303038152906040525b9392505050565b5f818152600260205260409020546001600160a01b03166108bf5760405162461bcd60e51b8152602060048201526018602482015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b6044820152606401610483565b50565b5f81815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906108f6826105d6565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b5f8061093a836105d6565b9050806001600160a01b0316846001600160a01b0316148061098057506001600160a01b038082165f9081526005602090815260408083209388168352929052205460ff165b806109a45750836001600160a01b0316610999846103eb565b6001600160a01b0316145b949350505050565b826001600160a01b03166109bf826105d6565b6001600160a01b0316146109e55760405162461bcd60e51b815260040161048390611380565b6001600160a01b038216610a475760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610483565b826001600160a01b0316610a5a826105d6565b6001600160a01b031614610a805760405162461bcd60e51b815260040161048390611380565b5f81815260046020908152604080832080546001600160a01b03199081169091556001600160a01b038781168086526003855283862080545f1901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b038216610b645760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610483565b5f818152600260205260409020546001600160a01b031615610bc85760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610483565b5f818152600260205260409020546001600160a01b031615610c2c5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610483565b6001600160a01b0382165f81815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b816001600160a01b0316836001600160a01b031603610cf75760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610483565b6001600160a01b038381165f81815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b610d6e8484846109ac565b610d7a84848484610e26565b6107eb5760405162461bcd60e51b8152600401610483906113c5565b60605f610da283610f23565b60010190505f8167ffffffffffffffff811115610dc157610dc1611169565b6040519080825280601f01601f191660200182016040528015610deb576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084610df557509392505050565b5f6001600160a01b0384163b15610f1857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290610e69903390899088908890600401611417565b6020604051808303815f875af1925050508015610ea3575060408051601f3d908101601f19168201909252610ea091810190611453565b60015b610efe573d808015610ed0576040519150601f19603f3d011682016040523d82523d5f602084013e610ed5565b606091505b5080515f03610ef65760405162461bcd60e51b8152600401610483906113c5565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506109a4565b506001949350505050565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b8310610f615772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef81000000008310610f8d576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc100008310610fab57662386f26fc10000830492506010015b6305f5e1008310610fc3576305f5e100830492506008015b6127108310610fd757612710830492506004015b60648310610fe9576064830492506002015b600a83106103565760010192915050565b6001600160e01b0319811681146108bf575f80fd5b5f6020828403121561101f575f80fd5b813561085a81610ffa565b5f5b8381101561104457818101518382015260200161102c565b50505f910152565b5f815180845261106381602086016020860161102a565b601f01601f19169290920160200192915050565b602081525f61085a602083018461104c565b5f60208284031215611099575f80fd5b5035919050565b80356001600160a01b038116811461067f575f80fd5b5f80604083850312156110c7575f80fd5b6110d0836110a0565b946020939093013593505050565b5f602082840312156110ee575f80fd5b61085a826110a0565b5f805f60608486031215611109575f80fd5b611112846110a0565b9250611120602085016110a0565b9150604084013590509250925092565b5f8060408385031215611141575f80fd5b61114a836110a0565b91506020830135801515811461115e575f80fd5b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b5f805f8060808587031215611190575f80fd5b611199856110a0565b93506111a7602086016110a0565b925060408501359150606085013567ffffffffffffffff808211156111ca575f80fd5b818701915087601f8301126111dd575f80fd5b8135818111156111ef576111ef611169565b604051601f8201601f19908116603f0116810190838211818310171561121757611217611169565b816040528281528a602084870101111561122f575f80fd5b826020860160208301375f60208483010152809550505050505092959194509250565b5f8060408385031215611263575f80fd5b61126c836110a0565b915061127a602084016110a0565b90509250929050565b600181811c9082168061129757607f821691505b6020821081036112b557634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252600c908201526b155b985d5d1a1bdc9a5e995960a21b604082015260600190565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b5f6001820161134b57634e487b7160e01b5f52601160045260245ffd5b5060010190565b5f835161136381846020880161102a565b83519083019061137781836020880161102a565b01949350505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906114499083018461104c565b9695505050505050565b5f60208284031215611463575f80fd5b815161085a81610ffa56fea264697066735822122098dc1df0344c690e9026cc9afbcda7d07e8799d065e5be0e93f728a0959a991064736f6c63430008140033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
