{
  "_format": "hh-sol-artifact-1",
  "contractName": "TacSmartAccount",
  "sourceName": "contracts/smart-account/TacSmartAccount.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "caller",
          "type": "address"
        }
      ],
      "name": "AccessDenied",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "name": "ExecutionFailed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotInitializing",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "token",
          "type": "address"
        }
      ],
      "name": "SafeERC20FailedOperation",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "Executed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "contract IERC20",
          "name": "token",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "caller",
          "type": "address"
        }
      ],
      "name": "createOneTimeTicket",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "delegatecall",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "execute",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "value",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "executeUnsafe",
      "outputs": [
        {
          "internalType": "bool",
          "name": "success",
          "type": "bool"
        },
        {
          "internalType": "bytes",
          "name": "returnData",
          "type": "bytes"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "targets",
          "type": "address[]"
        },
        {
          "internalType": "uint256[]",
          "name": "values",
          "type": "uint256[]"
        },
        {
          "internalType": "bytes[]",
          "name": "data",
          "type": "bytes[]"
        }
      ],
      "name": "multicall",
      "outputs": [
        {
          "internalType": "bytes[]",
          "name": "",
          "type": "bytes[]"
        }
      ],
      "stateMutability": "payable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        },
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "name": "onERC721Received",
      "outputs": [
        {
          "internalType": "bytes4",
          "name": "",
          "type": "bytes4"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "caller",
          "type": "address"
        }
      ],
      "name": "oneTimeTickets",
      "outputs": [
        {
          "internalType": "bool",
          "name": "ticket",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "caller",
          "type": "address"
        }
      ],
      "name": "revokeOneTimeTicket",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "stateMutability": "payable",
      "type": "receive"
    }
  ],
  "bytecode": "0x6080604052348015600f57600080fd5b506016601a565b60ca565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff161560695760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b039081161460c75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b611143806100d96000396000f3fe6080604052600436106100a05760003560e01c80638da5cb5b116100645780638da5cb5b14610179578063b61d27f6146101b1578063c4d66de8146101d1578063c72c901a146101f1578063dc40af1f14610211578063e1f21c671461025157600080fd5b8063150b7a02146100ac57806345670295146100f657806345f67ac7146101175780636e0aacf7146101375780637e383a751461015757600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506100d86100c7366004610ca3565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020015b60405180910390f35b610109610104366004610d16565b610271565b6040516100ed929190610db8565b61012a610125366004610e20565b61039b565b6040516100ed9190610ec6565b34801561014357600080fd5b50610109610152366004610f2b565b6105f4565b34801561016357600080fd5b50610177610172366004610f80565b61070e565b005b34801561018557600080fd5b50600054610199906001600160a01b031681565b6040516001600160a01b0390911681526020016100ed565b6101c46101bf366004610d16565b610769565b6040516100ed9190610fa4565b3480156101dd57600080fd5b506101776101ec366004610f80565b6108bd565b3480156101fd57600080fd5b5061017761020c366004610f80565b6109df565b34801561021d57600080fd5b5061024161022c366004610f80565b60016020526000908152604090205460ff1681565b60405190151581526020016100ed565b34801561025d57600080fd5b5061017761026c366004610fb7565b610a40565b3360009081526001602052604081205460609060ff16156102a857336000908152600160205260409020805460ff191690556102e8565b60005433906001600160a01b031681146102e657604051630504a20d60e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505b856001600160a01b0316858585604051610303929190610ff8565b60006040518083038185875af1925050503d8060008114610340576040519150601f19603f3d011682016040523d82523d6000602084013e610345565b606091505b5060405191935091506001600160a01b038716907fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f9061038a90889088908890611031565b60405180910390a294509492505050565b3360009081526001602052604090205460609060ff16156103d257336000908152600160205260409020805460ff1916905561040d565b60005433906001600160a01b0316811461040b57604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b505b60008667ffffffffffffffff81111561042857610428611054565b60405190808252806020026020018201604052801561045b57816020015b60608152602001906001900390816104465790505b50905060005b878110156105e8576000808a8a8481811061047e5761047e61106a565b90506020020160208101906104939190610f80565b6001600160a01b03168989858181106104ae576104ae61106a565b905060200201358888868181106104c7576104c761106a565b90506020028101906104d99190611080565b6040516104e7929190610ff8565b60006040518083038185875af1925050503d8060008114610524576040519150601f19603f3d011682016040523d82523d6000602084013e610529565b606091505b5091509150818b8b858181106105415761054161106a565b90506020020160208101906105569190610f80565b8a8a868181106105685761056861106a565b905060200201358989878181106105815761058161106a565b90506020028101906105939190611080565b8590919293946105bb57604051630717adb560e21b81526004016102dd9594939291906110c7565b5050505050808484815181106105d3576105d361106a565b60209081029190910101525050600101610461565b50979650505050505050565b6000805460609033906001600160a01b0316811461063157604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b50846001600160a01b0316848460405161064c929190610ff8565b600060405180830381855af49150503d8060008114610687576040519150601f19603f3d011682016040523d82523d6000602084013e61068c565b606091505b509092509050846000858584866106bb57604051630717adb560e21b81526004016102dd9594939291906110c7565b5050505050846001600160a01b03167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f600086866040516106fe93929190611031565b60405180910390a2935093915050565b60005433906001600160a01b0316811461074757604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b506001600160a01b03166000908152600160205260409020805460ff19169055565b3360009081526001602052604090205460609060ff16156107a057336000908152600160205260409020805460ff191690556107db565b60005433906001600160a01b031681146107d957604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b505b600080866001600160a01b03168686866040516107f9929190610ff8565b60006040518083038185875af1925050503d8060008114610836576040519150601f19603f3d011682016040523d82523d6000602084013e61083b565b606091505b50909250905086868686848661086957604051630717adb560e21b81526004016102dd9594939291906110c7565b5050505050866001600160a01b03167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f8787876040516108ab93929190611031565b60405180910390a29695505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156109035750825b905060008267ffffffffffffffff1660011480156109205750303b155b90508115801561092e575080155b1561094c5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561097657845460ff60401b1916600160401b1785555b600080546001600160a01b0319166001600160a01b03881617905583156109d757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b60005433906001600160a01b03168114610a1857604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b506001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b3360009081526001602052604090205460ff1615610a7457336000908152600160205260409020805460ff19169055610aaf565b60005433906001600160a01b03168114610aad57604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b505b610ac36001600160a01b0384168383610ac8565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610b198482610b82565b610b7c57604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610b72908590610bd1565b610b7c8482610bd1565b50505050565b6000806000806020600086516020880160008a5af192503d91506000519050828015610bc757508115610bb85780600114610bc7565b6000866001600160a01b03163b115b9695505050505050565b600080602060008451602086016000885af180610bf4576040513d6000823e3d81fd5b50506000513d91508115610c0c578060011415610c19565b6001600160a01b0384163b155b15610b7c57604051635274afe760e01b81526001600160a01b03851660048201526024016102dd565b6001600160a01b0381168114610c5757600080fd5b50565b60008083601f840112610c6c57600080fd5b50813567ffffffffffffffff811115610c8457600080fd5b602083019150836020828501011115610c9c57600080fd5b9250929050565b600080600080600060808688031215610cbb57600080fd5b8535610cc681610c42565b94506020860135610cd681610c42565b935060408601359250606086013567ffffffffffffffff811115610cf957600080fd5b610d0588828901610c5a565b969995985093965092949392505050565b60008060008060608587031215610d2c57600080fd5b8435610d3781610c42565b935060208501359250604085013567ffffffffffffffff811115610d5a57600080fd5b610d6687828801610c5a565b95989497509550505050565b6000815180845260005b81811015610d9857602081850181015186830182015201610d7c565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610dd36040830184610d72565b949350505050565b60008083601f840112610ded57600080fd5b50813567ffffffffffffffff811115610e0557600080fd5b6020830191508360208260051b8501011115610c9c57600080fd5b60008060008060008060608789031215610e3957600080fd5b863567ffffffffffffffff811115610e5057600080fd5b610e5c89828a01610ddb565b909750955050602087013567ffffffffffffffff811115610e7c57600080fd5b610e8889828a01610ddb565b909550935050604087013567ffffffffffffffff811115610ea857600080fd5b610eb489828a01610ddb565b979a9699509497509295939492505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610f1f57603f19878603018452610f0a858351610d72565b94506020938401939190910190600101610eee565b50929695505050505050565b600080600060408486031215610f4057600080fd5b8335610f4b81610c42565b9250602084013567ffffffffffffffff811115610f6757600080fd5b610f7386828701610c5a565b9497909650939450505050565b600060208284031215610f9257600080fd5b8135610f9d81610c42565b9392505050565b602081526000610f9d6020830184610d72565b600080600060608486031215610fcc57600080fd5b8335610fd781610c42565b92506020840135610fe781610c42565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061104b604083018486611008565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261109757600080fd5b83018035915067ffffffffffffffff8211156110b257600080fd5b602001915036819003821315610c9c57600080fd5b60018060a01b03861681528460208201526080604082015260006110ef608083018587611008565b82810360608401526111018185610d72565b9897505050505050505056fea264697066735822122032ddb73151e54c46720ba996a1a687a7dc1fb42eb87537e7af28c2b2a270da5464736f6c634300081c0033",
  "deployedBytecode": "0x6080604052600436106100a05760003560e01c80638da5cb5b116100645780638da5cb5b14610179578063b61d27f6146101b1578063c4d66de8146101d1578063c72c901a146101f1578063dc40af1f14610211578063e1f21c671461025157600080fd5b8063150b7a02146100ac57806345670295146100f657806345f67ac7146101175780636e0aacf7146101375780637e383a751461015757600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506100d86100c7366004610ca3565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020015b60405180910390f35b610109610104366004610d16565b610271565b6040516100ed929190610db8565b61012a610125366004610e20565b61039b565b6040516100ed9190610ec6565b34801561014357600080fd5b50610109610152366004610f2b565b6105f4565b34801561016357600080fd5b50610177610172366004610f80565b61070e565b005b34801561018557600080fd5b50600054610199906001600160a01b031681565b6040516001600160a01b0390911681526020016100ed565b6101c46101bf366004610d16565b610769565b6040516100ed9190610fa4565b3480156101dd57600080fd5b506101776101ec366004610f80565b6108bd565b3480156101fd57600080fd5b5061017761020c366004610f80565b6109df565b34801561021d57600080fd5b5061024161022c366004610f80565b60016020526000908152604090205460ff1681565b60405190151581526020016100ed565b34801561025d57600080fd5b5061017761026c366004610fb7565b610a40565b3360009081526001602052604081205460609060ff16156102a857336000908152600160205260409020805460ff191690556102e8565b60005433906001600160a01b031681146102e657604051630504a20d60e01b81526001600160a01b0390911660048201526024015b60405180910390fd5b505b856001600160a01b0316858585604051610303929190610ff8565b60006040518083038185875af1925050503d8060008114610340576040519150601f19603f3d011682016040523d82523d6000602084013e610345565b606091505b5060405191935091506001600160a01b038716907fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f9061038a90889088908890611031565b60405180910390a294509492505050565b3360009081526001602052604090205460609060ff16156103d257336000908152600160205260409020805460ff1916905561040d565b60005433906001600160a01b0316811461040b57604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b505b60008667ffffffffffffffff81111561042857610428611054565b60405190808252806020026020018201604052801561045b57816020015b60608152602001906001900390816104465790505b50905060005b878110156105e8576000808a8a8481811061047e5761047e61106a565b90506020020160208101906104939190610f80565b6001600160a01b03168989858181106104ae576104ae61106a565b905060200201358888868181106104c7576104c761106a565b90506020028101906104d99190611080565b6040516104e7929190610ff8565b60006040518083038185875af1925050503d8060008114610524576040519150601f19603f3d011682016040523d82523d6000602084013e610529565b606091505b5091509150818b8b858181106105415761054161106a565b90506020020160208101906105569190610f80565b8a8a868181106105685761056861106a565b905060200201358989878181106105815761058161106a565b90506020028101906105939190611080565b8590919293946105bb57604051630717adb560e21b81526004016102dd9594939291906110c7565b5050505050808484815181106105d3576105d361106a565b60209081029190910101525050600101610461565b50979650505050505050565b6000805460609033906001600160a01b0316811461063157604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b50846001600160a01b0316848460405161064c929190610ff8565b600060405180830381855af49150503d8060008114610687576040519150601f19603f3d011682016040523d82523d6000602084013e61068c565b606091505b509092509050846000858584866106bb57604051630717adb560e21b81526004016102dd9594939291906110c7565b5050505050846001600160a01b03167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f600086866040516106fe93929190611031565b60405180910390a2935093915050565b60005433906001600160a01b0316811461074757604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b506001600160a01b03166000908152600160205260409020805460ff19169055565b3360009081526001602052604090205460609060ff16156107a057336000908152600160205260409020805460ff191690556107db565b60005433906001600160a01b031681146107d957604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b505b600080866001600160a01b03168686866040516107f9929190610ff8565b60006040518083038185875af1925050503d8060008114610836576040519150601f19603f3d011682016040523d82523d6000602084013e61083b565b606091505b50909250905086868686848661086957604051630717adb560e21b81526004016102dd9594939291906110c7565b5050505050866001600160a01b03167fcaf938de11c367272220bfd1d2baa99ca46665e7bc4d85f00adb51b90fe1fa9f8787876040516108ab93929190611031565b60405180910390a29695505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156109035750825b905060008267ffffffffffffffff1660011480156109205750303b155b90508115801561092e575080155b1561094c5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561097657845460ff60401b1916600160401b1785555b600080546001600160a01b0319166001600160a01b03881617905583156109d757845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b60005433906001600160a01b03168114610a1857604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b506001600160a01b03166000908152600160208190526040909120805460ff19169091179055565b3360009081526001602052604090205460ff1615610a7457336000908152600160205260409020805460ff19169055610aaf565b60005433906001600160a01b03168114610aad57604051630504a20d60e01b81526001600160a01b0390911660048201526024016102dd565b505b610ac36001600160a01b0384168383610ac8565b505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610b198482610b82565b610b7c57604080516001600160a01b038516602482015260006044808301919091528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610b72908590610bd1565b610b7c8482610bd1565b50505050565b6000806000806020600086516020880160008a5af192503d91506000519050828015610bc757508115610bb85780600114610bc7565b6000866001600160a01b03163b115b9695505050505050565b600080602060008451602086016000885af180610bf4576040513d6000823e3d81fd5b50506000513d91508115610c0c578060011415610c19565b6001600160a01b0384163b155b15610b7c57604051635274afe760e01b81526001600160a01b03851660048201526024016102dd565b6001600160a01b0381168114610c5757600080fd5b50565b60008083601f840112610c6c57600080fd5b50813567ffffffffffffffff811115610c8457600080fd5b602083019150836020828501011115610c9c57600080fd5b9250929050565b600080600080600060808688031215610cbb57600080fd5b8535610cc681610c42565b94506020860135610cd681610c42565b935060408601359250606086013567ffffffffffffffff811115610cf957600080fd5b610d0588828901610c5a565b969995985093965092949392505050565b60008060008060608587031215610d2c57600080fd5b8435610d3781610c42565b935060208501359250604085013567ffffffffffffffff811115610d5a57600080fd5b610d6687828801610c5a565b95989497509550505050565b6000815180845260005b81811015610d9857602081850181015186830182015201610d7c565b506000602082860101526020601f19601f83011685010191505092915050565b8215158152604060208201526000610dd36040830184610d72565b949350505050565b60008083601f840112610ded57600080fd5b50813567ffffffffffffffff811115610e0557600080fd5b6020830191508360208260051b8501011115610c9c57600080fd5b60008060008060008060608789031215610e3957600080fd5b863567ffffffffffffffff811115610e5057600080fd5b610e5c89828a01610ddb565b909750955050602087013567ffffffffffffffff811115610e7c57600080fd5b610e8889828a01610ddb565b909550935050604087013567ffffffffffffffff811115610ea857600080fd5b610eb489828a01610ddb565b979a9699509497509295939492505050565b6000602082016020835280845180835260408501915060408160051b86010192506020860160005b82811015610f1f57603f19878603018452610f0a858351610d72565b94506020938401939190910190600101610eee565b50929695505050505050565b600080600060408486031215610f4057600080fd5b8335610f4b81610c42565b9250602084013567ffffffffffffffff811115610f6757600080fd5b610f7386828701610c5a565b9497909650939450505050565b600060208284031215610f9257600080fd5b8135610f9d81610c42565b9392505050565b602081526000610f9d6020830184610d72565b600080600060608486031215610fcc57600080fd5b8335610fd781610c42565b92506020840135610fe781610c42565b929592945050506040919091013590565b8183823760009101908152919050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b83815260406020820152600061104b604083018486611008565b95945050505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261109757600080fd5b83018035915067ffffffffffffffff8211156110b257600080fd5b602001915036819003821315610c9c57600080fd5b60018060a01b03861681528460208201526080604082015260006110ef608083018587611008565b82810360608401526111018185610d72565b9897505050505050505056fea264697066735822122032ddb73151e54c46720ba996a1a687a7dc1fb42eb87537e7af28c2b2a270da5464736f6c634300081c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
