{
  "_format": "hh-sol-artifact-1",
  "contractName": "ERC721FacetMock",
  "sourceName": "contracts/mocks/token/ERC721/facets/ERC721FacetMock.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "contract IForwarderRegistry",
          "name": "forwarderRegistry",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [],
      "name": "ERC721BalanceOfAddressZero",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ERC721NonApprovedForApproval",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ERC721NonApprovedForTransfer",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ERC721NonExistingToken",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ERC721NonOwnedToken",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ERC721SafeTransferRejected",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "ERC721SelfApproval",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "ERC721SelfApprovalForAll",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ERC721TransferToAddressZero",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "IllegalInterfaceId",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NotProxyAdmin",
      "type": "error"
    },
    {
      "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": [],
      "name": "__msgData",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "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": "balance",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "getApproved",
      "outputs": [
        {
          "internalType": "address",
          "name": "approved",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "initERC721Storage",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        }
      ],
      "name": "isApprovedForAll",
      "outputs": [
        {
          "internalType": "bool",
          "name": "approvedForAll",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "ownerOf",
      "outputs": [
        {
          "internalType": "address",
          "name": "tokenOwner",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "from",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "tokenId",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "operator",
          "type": "address"
        },
        {
          "internalType": "bool",
          "name": "approved",
          "type": "bool"
        }
      ],
      "name": "setApprovalForAll",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "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": "0x60a034606d57601f61141d38819003918201601f19168301916001600160401b03831184841017607257808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161139490816100898239608051818181610e8f01526110560152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b60003560e01c8063081812fc146109ca578063095ea7b31461077257806323b872dd1461073157806331e66e1e146106ae57806342842e0e146106455780636352211e1461059057806370a08231146104c6578063a22cb4651461039b578063b1c7ee0214610261578063b88d4fde1461014e5763e985e9c51461009557600080fd5b346101495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576100cc610a45565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a68565b91166000527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c360205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b600080fd5b346101495760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014957610185610a45565b61018d610a68565b6044356064359167ffffffffffffffff831161014957366023840112156101495782600401359367ffffffffffffffff8511610149573660248686010111610149577fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c06102058484846101fe610e78565b8095610ba1565b823b61020d57005b6000602061025f97806024837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116019961024e6040519b8c610df0565b828b5201838a013787010152611185565b005b346101495760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014957610298610e78565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361036e577f80ac58cd000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f8ed2355fc3f859d445b81332ba1875c675be71b9fe1bab0a25be6436696b0ec780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576103d2610a45565b602435908115158092036101495773ffffffffffffffffffffffffffffffffffffffff806103fe610e78565b169116918183146104985760207f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191836000527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c38252604060002085600052825260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a3005b507fe4215c6a0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576104fd610a45565b73ffffffffffffffffffffffffffffffffffffffff8116156105665773ffffffffffffffffffffffffffffffffffffffff166000527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c16020526020604060002054604051908152f35b7faefbce4e0000000000000000000000000000000000000000000000000000000060005260046000fd5b346101495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576004357fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c08160005260205273ffffffffffffffffffffffffffffffffffffffff60406000205416801561061757602090604051908152f35b507fdd5604750000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101495761065336610a8b565b7fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c09161068a828286610683610e78565b8097610ba1565b803b61069257005b61025f93604051936106a5602086610df0565b60008552611185565b346101495760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101495760406106e761103f565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b346101495761025f61074236610a8b565b917fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c061076c610e78565b90610ba1565b346101495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576107a9610a45565b602435907fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0906107d7610e78565b91836000528060205260406000205473ffffffffffffffffffffffffffffffffffffffff811692831561099c5773ffffffffffffffffffffffffffffffffffffffff169383851461096e5761082d818585610fbf565b1561092257508361089157740100000000000000000000000000000000000000001661087d575b505b7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b836000526020528060406000205583610854565b9074010000000000000000000000000000000000000000821780920361090e575b5050826000527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c26020526040600020827fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055610856565b8460005260205260406000205583806108b2565b8373ffffffffffffffffffffffffffffffffffffffff87927fc7563a18000000000000000000000000000000000000000000000000000000006000521660045260245260445260646000fd5b837fb7fdc0100000000000000000000000000000000000000000000000000000000060005260045260246000fd5b857fdd5604750000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576020610a276004357fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0610afd565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361014957565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361014957565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126101495760043573ffffffffffffffffffffffffffffffffffffffff81168103610149579060243573ffffffffffffffffffffffffffffffffffffffff81168103610149579060443590565b816000528060205260406000205473ffffffffffffffffffffffffffffffffffffffff811615610b7357740100000000000000000000000000000000000000001615610b6c576002916000520160205273ffffffffffffffffffffffffffffffffffffffff6040600020541690565b5050600090565b827fdd5604750000000000000000000000000000000000000000000000000000000060005260045260246000fd5b909273ffffffffffffffffffffffffffffffffffffffff16928315610dc657846000528160205260406000205473ffffffffffffffffffffffffffffffffffffffff8116938415610d985773ffffffffffffffffffffffffffffffffffffffff8116809503610d665782610c159185610fbf565b15610cab575b5050836000528060205282604060002055828203610c5c575b507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b600101816000528060205260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81540190558260005260205260406000206001815401905538610c34565b7401000000000000000000000000000000000000000016158015610d20575b610cd45780610c1b565b8273ffffffffffffffffffffffffffffffffffffffff86927fa4a3018b000000000000000000000000000000000000000000000000000000006000521660045260245260445260646000fd5b50846000526002820160205273ffffffffffffffffffffffffffffffffffffffff6040600020541673ffffffffffffffffffffffffffffffffffffffff82161415610cca565b86857f14dbb5360000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b867fdd5604750000000000000000000000000000000000000000000000000000000060005260045260246000fd5b7f86c870670000000000000000000000000000000000000000000000000000000060005260046000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e3157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90816020910312610149575180151581036101495790565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610fb0573233148015610fb5575b610fb0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610f03575b50610f0057503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa908115610fa457600091610f75575b5038610ef6565b610f97915060203d602011610f9d575b610f8f8183610df0565b810190610e60565b38610f6e565b503d610f85565b6040513d6000823e3d90fd5b503390565b5060183610610ebf565b73ffffffffffffffffffffffffffffffffffffffff8083169084161492918315610fea575b50505090565b600392935073ffffffffffffffffffffffffffffffffffffffff166000520160205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260ff60406000205416388080610fe4565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016801561117357323314801561117b575b611173578033149081156110d2575b506110a1576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116101495760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa908115610fa457600091611154575b5038611095565b61116d915060203d602011610f9d57610f8f8183610df0565b3861114d565b506000903690565b5060183610611086565b9173ffffffffffffffffffffffffffffffffffffffff809195929495169381604051947f150b7a02000000000000000000000000000000000000000000000000000000008652166004850152166024830152836044830152608060648301528181519182608483015260005b83811061134657505060a4817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8560008560209886010152011681010301816000865af1908115610fa4576000916112c4575b507fffffffff000000000000000000000000000000000000000000000000000000007f150b7a0200000000000000000000000000000000000000000000000000000000911603611294575050565b7fc215a7a10000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b6020813d60201161133e575b816112dd60209383610df0565b8101031261133a5751907fffffffff000000000000000000000000000000000000000000000000000000008216820361133757507fffffffff00000000000000000000000000000000000000000000000000000000611246565b80fd5b5080fd5b3d91506112d0565b602082820181015160a48784010152859350016111f156fea2646970667358221220f9802943ec163296a8ca6d68aec818b8956a4e7f7faaf647714f2156d9b9315a64736f6c634300081e0033",
  "deployedBytecode": "0x6080604052600436101561001257600080fd5b60003560e01c8063081812fc146109ca578063095ea7b31461077257806323b872dd1461073157806331e66e1e146106ae57806342842e0e146106455780636352211e1461059057806370a08231146104c6578063a22cb4651461039b578063b1c7ee0214610261578063b88d4fde1461014e5763e985e9c51461009557600080fd5b346101495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576100cc610a45565b73ffffffffffffffffffffffffffffffffffffffff6100e9610a68565b91166000527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c360205273ffffffffffffffffffffffffffffffffffffffff60406000209116600052602052602060ff604060002054166040519015158152f35b600080fd5b346101495760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014957610185610a45565b61018d610a68565b6044356064359167ffffffffffffffff831161014957366023840112156101495782600401359367ffffffffffffffff8511610149573660248686010111610149577fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c06102058484846101fe610e78565b8095610ba1565b823b61020d57005b6000602061025f97806024837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116019961024e6040519b8c610df0565b828b5201838a013787010152611185565b005b346101495760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014957610298610e78565b73ffffffffffffffffffffffffffffffffffffffff807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035416911690810361036e577f80ac58cd000000000000000000000000000000000000000000000000000000006000527fca9d3e17f264b0f3984e2634e94adb37fa3e6a8103f06aeae6fa59e21c769f5d6020527f8ed2355fc3f859d445b81332ba1875c675be71b9fe1bab0a25be6436696b0ec780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055005b7f673a31a10000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576103d2610a45565b602435908115158092036101495773ffffffffffffffffffffffffffffffffffffffff806103fe610e78565b169116918183146104985760207f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3191836000527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c38252604060002085600052825260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0081541660ff8316179055604051908152a3005b507fe4215c6a0000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576104fd610a45565b73ffffffffffffffffffffffffffffffffffffffff8116156105665773ffffffffffffffffffffffffffffffffffffffff166000527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c16020526020604060002054604051908152f35b7faefbce4e0000000000000000000000000000000000000000000000000000000060005260046000fd5b346101495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576004357fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c08160005260205273ffffffffffffffffffffffffffffffffffffffff60406000205416801561061757602090604051908152f35b507fdd5604750000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101495761065336610a8b565b7fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c09161068a828286610683610e78565b8097610ba1565b803b61069257005b61025f93604051936106a5602086610df0565b60008552611185565b346101495760007ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101495760406106e761103f565b91907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8484519586946020865281602087015286860137600085828601015201168101030190f35b346101495761025f61074236610a8b565b917fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c061076c610e78565b90610ba1565b346101495760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576107a9610a45565b602435907fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0906107d7610e78565b91836000528060205260406000205473ffffffffffffffffffffffffffffffffffffffff811692831561099c5773ffffffffffffffffffffffffffffffffffffffff169383851461096e5761082d818585610fbf565b1561092257508361089157740100000000000000000000000000000000000000001661087d575b505b7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b836000526020528060406000205583610854565b9074010000000000000000000000000000000000000000821780920361090e575b5050826000527fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c26020526040600020827fffffffffffffffffffffffff0000000000000000000000000000000000000000825416179055610856565b8460005260205260406000205583806108b2565b8373ffffffffffffffffffffffffffffffffffffffff87927fc7563a18000000000000000000000000000000000000000000000000000000006000521660045260245260445260646000fd5b837fb7fdc0100000000000000000000000000000000000000000000000000000000060005260045260246000fd5b857fdd5604750000000000000000000000000000000000000000000000000000000060005260045260246000fd5b346101495760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610149576020610a276004357fddf3ee18ae6d688373c219468f8be446e7ae82215f4779d821c7ea5e8c13c0c0610afd565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361014957565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361014957565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126101495760043573ffffffffffffffffffffffffffffffffffffffff81168103610149579060243573ffffffffffffffffffffffffffffffffffffffff81168103610149579060443590565b816000528060205260406000205473ffffffffffffffffffffffffffffffffffffffff811615610b7357740100000000000000000000000000000000000000001615610b6c576002916000520160205273ffffffffffffffffffffffffffffffffffffffff6040600020541690565b5050600090565b827fdd5604750000000000000000000000000000000000000000000000000000000060005260045260246000fd5b909273ffffffffffffffffffffffffffffffffffffffff16928315610dc657846000528160205260406000205473ffffffffffffffffffffffffffffffffffffffff8116938415610d985773ffffffffffffffffffffffffffffffffffffffff8116809503610d665782610c159185610fbf565b15610cab575b5050836000528060205282604060002055828203610c5c575b507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4565b600101816000528060205260406000207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81540190558260005260205260406000206001815401905538610c34565b7401000000000000000000000000000000000000000016158015610d20575b610cd45780610c1b565b8273ffffffffffffffffffffffffffffffffffffffff86927fa4a3018b000000000000000000000000000000000000000000000000000000006000521660045260245260445260646000fd5b50846000526002820160205273ffffffffffffffffffffffffffffffffffffffff6040600020541673ffffffffffffffffffffffffffffffffffffffff82161415610cca565b86857f14dbb5360000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b867fdd5604750000000000000000000000000000000000000000000000000000000060005260045260246000fd5b7f86c870670000000000000000000000000000000000000000000000000000000060005260046000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e3157604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90816020910312610149575180151581036101495790565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168015610fb0573233148015610fb5575b610fb0577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c90803314908115610f03575b50610f0057503390565b90565b6040517f019a202800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201523360248201523060448201529150602090829060649082905afa908115610fa457600091610f75575b5038610ef6565b610f97915060203d602011610f9d575b610f8f8183610df0565b810190610e60565b38610f6e565b503d610f85565b6040513d6000823e3d90fd5b503390565b5060183610610ebf565b73ffffffffffffffffffffffffffffffffffffffff8083169084161492918315610fea575b50505090565b600392935073ffffffffffffffffffffffffffffffffffffffff166000520160205273ffffffffffffffffffffffffffffffffffffffff6040600020911660005260205260ff60406000205416388080610fe4565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016801561117357323314801561117b575b611173578033149081156110d2575b506110a1576000903690565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec3601903682116101495760009190565b6040517f019a20280000000000000000000000000000000000000000000000000000000081527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffec36013560601c60048201523360248201523060448201529150602090829060649082905afa908115610fa457600091611154575b5038611095565b61116d915060203d602011610f9d57610f8f8183610df0565b3861114d565b506000903690565b5060183610611086565b9173ffffffffffffffffffffffffffffffffffffffff809195929495169381604051947f150b7a02000000000000000000000000000000000000000000000000000000008652166004850152166024830152836044830152608060648301528181519182608483015260005b83811061134657505060a4817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8560008560209886010152011681010301816000865af1908115610fa4576000916112c4575b507fffffffff000000000000000000000000000000000000000000000000000000007f150b7a0200000000000000000000000000000000000000000000000000000000911603611294575050565b7fc215a7a10000000000000000000000000000000000000000000000000000000060005260045260245260446000fd5b6020813d60201161133e575b816112dd60209383610df0565b8101031261133a5751907fffffffff000000000000000000000000000000000000000000000000000000008216820361133757507fffffffff00000000000000000000000000000000000000000000000000000000611246565b80fd5b5080fd5b3d91506112d0565b602082820181015160a48784010152859350016111f156fea2646970667358221220f9802943ec163296a8ca6d68aec818b8956a4e7f7faaf647714f2156d9b9315a64736f6c634300081e0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
