{
  "_format": "hh-sol-artifact-1",
  "contractName": "CMCWithdraw",
  "sourceName": "src.sol/CMCWithdraw.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "assetId",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "address payable",
          "name": "recipient",
          "type": "address"
        }
      ],
      "name": "exit",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getAlice",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "getBob",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "assetId",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        }
      ],
      "name": "getExitableAmount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "assetId",
          "type": "address"
        }
      ],
      "name": "getTotalTransferred",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "channelAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "assetId",
              "type": "address"
            },
            {
              "internalType": "address payable",
              "name": "recipient",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "nonce",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "callTo",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct WithdrawData",
          "name": "wd",
          "type": "tuple"
        }
      ],
      "name": "getWithdrawalTransactionRecord",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "lock",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_alice",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_bob",
          "type": "address"
        }
      ],
      "name": "setup",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "channelAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "assetId",
              "type": "address"
            },
            {
              "internalType": "address payable",
              "name": "recipient",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "amount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "nonce",
              "type": "uint256"
            },
            {
              "internalType": "address",
              "name": "callTo",
              "type": "address"
            },
            {
              "internalType": "bytes",
              "name": "callData",
              "type": "bytes"
            }
          ],
          "internalType": "struct WithdrawData",
          "name": "wd",
          "type": "tuple"
        },
        {
          "internalType": "bytes",
          "name": "aliceSignature",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "bobSignature",
          "type": "bytes"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a060405234801561001057600080fd5b5030606081901b6080526117906100546000398061016152806101e55280610419528061052f52806106a6528061073a52806107c3528061085c52506117906000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638c048fc2116100665780638c048fc2146100f1578063cefa512214610111578063e985256914610131578063eeb30fea14610144578063f83d08ba1461014c57610093565b8063241686a0146100985780632c889aa1146100b65780632d34ba79146100cb5780635bc9d96d146100de575b600080fd5b6100a0610154565b6040516100ad919061126b565b60405180910390f35b6100c96100c4366004611081565b6101da565b005b6100c96100d9366004610fac565b61040e565b6100c96100ec366004610fe4565b610524565b6101046100ff36600461104e565b610699565b6040516100ad9190611298565b61012461011f366004610f90565b61072d565b6040516100ad9190611709565b61012461013f366004610fac565b6107b6565b6100a061084f565b6101246108cc565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156101a85760405162461bcd60e51b815260040161019f9061169d565b60405180910390fd5b6001600054146101ca5760405162461bcd60e51b815260040161019f9061159f565b506002546001600160a01b031690565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156102235760405162461bcd60e51b815260040161019f9061169d565b6001600054146102455760405162461bcd60e51b815260040161019f9061159f565b600260005584306102596020830183610f90565b6001600160a01b03161461027f5760405162461bcd60e51b815260040161019f90611343565b600061028a876108d2565b90506102998187878787610902565b60008181526005602052604090205460ff16156102c85760405162461bcd60e51b815260040161019f906114fb565b6000818152600560209081526040808320805460ff19166001179055610300916102f6918b01908b01610f90565b8960600135610a0c565b9050600081118061032a5750600061031e60c08a0160a08b01610f90565b6001600160a01b031614155b6103465760405162461bcd60e51b815260040161019f9061137a565b61036f61035960408a0160208b01610f90565b61036960608b0160408c01610f90565b83610a27565b600061038160c08a0160a08b01610f90565b6001600160a01b0316146103ff5761039f60c0890160a08a01610f90565b6001600160a01b031663f50cd32c89836040518363ffffffff1660e01b81526004016103cc9291906116e7565b600060405180830381600087803b1580156103e657600080fd5b505af11580156103fa573d6000803e3d6000fd5b505050505b50506001600055505050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104575760405162461bcd60e51b815260040161019f9061169d565b6001546001600160a01b0316156104805760405162461bcd60e51b815260040161019f9061166d565b6001600160a01b038216158015906104a057506001600160a01b03811615155b6104bc5760405162461bcd60e51b815260040161019f906114c4565b806001600160a01b0316826001600160a01b031614156104ee5760405162461bcd60e51b815260040161019f906113dd565b6104f6610a5d565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561056d5760405162461bcd60e51b815260040161019f9061169d565b60016000541461058f5760405162461bcd60e51b815260040161019f9061159f565b6002600055336001600160a01b03831614806105bc5750806001600160a01b0316826001600160a01b0316145b6105d85760405162461bcd60e51b815260040161019f90611636565b6001600160a01b03808416600090815260046020908152604080832093861683529290529081205461060b908590610a0c565b90506000811161062d5760405162461bcd60e51b815260040161019f906115d6565b6001600160a01b0380851660009081526004602090815260408083209387168352929052205461065d9082610a64565b6001600160a01b0380861660009081526004602090815260408083209388168352929052205561068e848383610a27565b505060016000555050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106e45760405162461bcd60e51b815260040161019f9061169d565b6001600054146107065760405162461bcd60e51b815260040161019f9061159f565b60056000610713846108d2565b815260208101919091526040016000205460ff1692915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107785760405162461bcd60e51b815260040161019f9061169d565b60016000541461079a5760405162461bcd60e51b815260040161019f9061159f565b506001600160a01b031660009081526003602052604090205490565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108015760405162461bcd60e51b815260040161019f9061169d565b6001600054146108235760405162461bcd60e51b815260040161019f9061159f565b506001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561089a5760405162461bcd60e51b815260040161019f9061169d565b6001600054146108bc5760405162461bcd60e51b815260040161019f9061159f565b506001546001600160a01b031690565b60005481565b6000816040516020016108e591906116d4565b604051602081830303815290604052805190602001209050919050565b60006001866040516020016109189291906112c1565b60405160208183030381529060405280519060200120905061097e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050600154859392506001600160a01b03169050610aa6565b61099a5760405162461bcd60e51b815260040161019f906115ff565b6109e883838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050600254859392506001600160a01b03169050610aa6565b610a045760405162461bcd60e51b815260040161019f9061148d565b505050505050565b6000610a2082610a1b85610ace565b610b66565b9392505050565b610a318382610b7c565b610a3c838383610b9e565b610a585760405162461bcd60e51b815260040161019f90611414565b505050565b6001600055565b6000610a2083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bcf565b6000816001600160a01b0316610abc8585610bfb565b6001600160a01b031614949350505050565b6000610ad982610c13565b610b5e576040516370a0823160e01b81526001600160a01b038316906370a0823190610b0990309060040161126b565b60206040518083038186803b158015610b2157600080fd5b505afa158015610b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b599190611112565b610b60565b475b92915050565b6000818310610b755781610a20565b5090919050565b6001600160a01b03909116600090815260036020526040902080549091019055565b6000610ba984610c13565b610bbd57610bb8848484610c20565b610bc7565b610bc78383610c2d565b949350505050565b60008184841115610bf35760405162461bcd60e51b815260040161019f91906112d9565b505050900390565b600080610c0784610ca5565b9050610bc78184610cb8565b6001600160a01b03161590565b6000610bc7848484610de6565b6000806060846001600160a01b031684604051610c4990611268565b60006040518083038185875af1925050503d8060008114610c86576040519150601f19603f3d011682016040523d82523d6000602084013e610c8b565b606091505b5091509150610c9a8282610e2e565b506001949350505050565b6000816040516020016108e59190611237565b60008151604114610cdb5760405162461bcd60e51b815260040161019f906113a6565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610d2d5760405162461bcd60e51b815260040161019f9061144b565b8060ff16601b14158015610d4557508060ff16601c14155b15610d625760405162461bcd60e51b815260040161019f90611532565b600060018783868660405160008152602001604052604051610d8794939291906112a3565b6020604051602081039080840390855afa158015610da9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610ddc5760405162461bcd60e51b815260040161019f9061130c565b9695505050505050565b6000610bc7848484604051602401610dff92919061127f565b60408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610e3f565b81610e3b57805160208201fd5b5050565b6000610e4a83610ef9565b610e665760405162461bcd60e51b815260040161019f90611574565b60006060846001600160a01b031684604051610e82919061121b565b6000604051808303816000865af19150503d8060008114610ebf576040519150601f19603f3d011682016040523d82523d6000602084013e610ec4565b606091505b5091509150610ed38282610e2e565b80511580610ef0575080806020019051810190610ef0919061102e565b95945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610bc7575050151592915050565b60008083601f840112610f43578182fd5b50813567ffffffffffffffff811115610f5a578182fd5b602083019150836020828501011115610f7257600080fd5b9250929050565b600060e08284031215610f8a578081fd5b50919050565b600060208284031215610fa1578081fd5b8135610a2081611742565b60008060408385031215610fbe578081fd5b8235610fc981611742565b91506020830135610fd981611742565b809150509250929050565b600080600060608486031215610ff8578081fd5b833561100381611742565b9250602084013561101381611742565b9150604084013561102381611742565b809150509250925092565b60006020828403121561103f578081fd5b81518015158114610a20578182fd5b60006020828403121561105f578081fd5b813567ffffffffffffffff811115611075578182fd5b610bc784828501610f79565b600080600080600060608688031215611098578081fd5b853567ffffffffffffffff808211156110af578283fd5b6110bb89838a01610f79565b965060208801359150808211156110d0578283fd5b6110dc89838a01610f32565b909650945060408801359150808211156110f4578283fd5b5061110188828901610f32565b969995985093965092949392505050565b600060208284031215611123578081fd5b5051919050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000813561116181611742565b6001600160a01b03908116845260208301359061117d82611742565b908116602085015260408301359061119482611742565b8082166040860152606084013560608601526080840135608086015260a084013591506111c082611742565b1660a084015260c082013536839003601e190181126111dd578182fd5b8201803567ffffffffffffffff8111156111f5578283fd5b803603841315611203578283fd5b60e060c0860152610ef060e08601826020850161112a565b6000825161122d818460208701611712565b9190910192915050565b7f16566563746f72205369676e6564204d6573736167653a0a33320000000000008152601a810191909152603a0190565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b60408101600284106112cf57fe5b9281526020015290565b60006020825282518060208401526112f8816040850160208701611712565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252601d908201527f434d4357697468647261773a204348414e4e454c5f4d49534d41544348000000604082015260600190565b6020808252601290820152710434d4357697468647261773a204e4f5f4f560741b604082015260600190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b6020808252601f908201527f434d43436f72653a204944454e544943414c5f5041525449434950414e545300604082015260600190565b60208082526019908201527f434d4341737365743a205452414e534645525f4641494c454400000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b6020808252601c908201527f434d4357697468647261773a20494e56414c49445f424f425f53494700000000604082015260600190565b6020808252601c908201527f434d43436f72653a20494e56414c49445f5041525449434950414e5400000000604082015260600190565b6020808252601d908201527f434d4357697468647261773a20414c52454144595f4558454355544544000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b6020808252601190820152704c696245524332303a204e4f5f434f444560781b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a205245454e5452414e545f43414c4c00604082015260600190565b6020808252600f908201526e0434d4341737365743a204e4f5f4f5608c1b604082015260600190565b6020808252601e908201527f434d4357697468647261773a20494e56414c49445f414c4943455f5349470000604082015260600190565b60208082526018908201527f434d4341737365743a204f574e45525f4d49534d415443480000000000000000604082015260600190565b6020808252601690820152750434d43436f72653a20414c52454144595f53455455560541b604082015260600190565b6020808252601a908201527f4d6173746572636f70793a204f4e4c595f5649415f50524f5859000000000000604082015260600190565b600060208252610a206020830184611154565b6000604082526116fa6040830185611154565b90508260208301529392505050565b90815260200190565b60005b8381101561172d578181015183820152602001611715565b8381111561173c576000848401525b50505050565b6001600160a01b038116811461175757600080fd5b5056fea2646970667358221220f265a1d7c8d094857bdd087286da0aa01ff24bb423a5b6abf13da925debad26f64736f6c63430007010033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c80638c048fc2116100665780638c048fc2146100f1578063cefa512214610111578063e985256914610131578063eeb30fea14610144578063f83d08ba1461014c57610093565b8063241686a0146100985780632c889aa1146100b65780632d34ba79146100cb5780635bc9d96d146100de575b600080fd5b6100a0610154565b6040516100ad919061126b565b60405180910390f35b6100c96100c4366004611081565b6101da565b005b6100c96100d9366004610fac565b61040e565b6100c96100ec366004610fe4565b610524565b6101046100ff36600461104e565b610699565b6040516100ad9190611298565b61012461011f366004610f90565b61072d565b6040516100ad9190611709565b61012461013f366004610fac565b6107b6565b6100a061084f565b6101246108cc565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156101a85760405162461bcd60e51b815260040161019f9061169d565b60405180910390fd5b6001600054146101ca5760405162461bcd60e51b815260040161019f9061159f565b506002546001600160a01b031690565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156102235760405162461bcd60e51b815260040161019f9061169d565b6001600054146102455760405162461bcd60e51b815260040161019f9061159f565b600260005584306102596020830183610f90565b6001600160a01b03161461027f5760405162461bcd60e51b815260040161019f90611343565b600061028a876108d2565b90506102998187878787610902565b60008181526005602052604090205460ff16156102c85760405162461bcd60e51b815260040161019f906114fb565b6000818152600560209081526040808320805460ff19166001179055610300916102f6918b01908b01610f90565b8960600135610a0c565b9050600081118061032a5750600061031e60c08a0160a08b01610f90565b6001600160a01b031614155b6103465760405162461bcd60e51b815260040161019f9061137a565b61036f61035960408a0160208b01610f90565b61036960608b0160408c01610f90565b83610a27565b600061038160c08a0160a08b01610f90565b6001600160a01b0316146103ff5761039f60c0890160a08a01610f90565b6001600160a01b031663f50cd32c89836040518363ffffffff1660e01b81526004016103cc9291906116e7565b600060405180830381600087803b1580156103e657600080fd5b505af11580156103fa573d6000803e3d6000fd5b505050505b50506001600055505050505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156104575760405162461bcd60e51b815260040161019f9061169d565b6001546001600160a01b0316156104805760405162461bcd60e51b815260040161019f9061166d565b6001600160a01b038216158015906104a057506001600160a01b03811615155b6104bc5760405162461bcd60e51b815260040161019f906114c4565b806001600160a01b0316826001600160a01b031614156104ee5760405162461bcd60e51b815260040161019f906113dd565b6104f6610a5d565b600180546001600160a01b039384166001600160a01b03199182161790915560028054929093169116179055565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561056d5760405162461bcd60e51b815260040161019f9061169d565b60016000541461058f5760405162461bcd60e51b815260040161019f9061159f565b6002600055336001600160a01b03831614806105bc5750806001600160a01b0316826001600160a01b0316145b6105d85760405162461bcd60e51b815260040161019f90611636565b6001600160a01b03808416600090815260046020908152604080832093861683529290529081205461060b908590610a0c565b90506000811161062d5760405162461bcd60e51b815260040161019f906115d6565b6001600160a01b0380851660009081526004602090815260408083209387168352929052205461065d9082610a64565b6001600160a01b0380861660009081526004602090815260408083209388168352929052205561068e848383610a27565b505060016000555050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156106e45760405162461bcd60e51b815260040161019f9061169d565b6001600054146107065760405162461bcd60e51b815260040161019f9061159f565b60056000610713846108d2565b815260208101919091526040016000205460ff1692915050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156107785760405162461bcd60e51b815260040161019f9061169d565b60016000541461079a5760405162461bcd60e51b815260040161019f9061159f565b506001600160a01b031660009081526003602052604090205490565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614156108015760405162461bcd60e51b815260040161019f9061169d565b6001600054146108235760405162461bcd60e51b815260040161019f9061159f565b506001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016141561089a5760405162461bcd60e51b815260040161019f9061169d565b6001600054146108bc5760405162461bcd60e51b815260040161019f9061159f565b506001546001600160a01b031690565b60005481565b6000816040516020016108e591906116d4565b604051602081830303815290604052805190602001209050919050565b60006001866040516020016109189291906112c1565b60405160208183030381529060405280519060200120905061097e85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050600154859392506001600160a01b03169050610aa6565b61099a5760405162461bcd60e51b815260040161019f906115ff565b6109e883838080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050600254859392506001600160a01b03169050610aa6565b610a045760405162461bcd60e51b815260040161019f9061148d565b505050505050565b6000610a2082610a1b85610ace565b610b66565b9392505050565b610a318382610b7c565b610a3c838383610b9e565b610a585760405162461bcd60e51b815260040161019f90611414565b505050565b6001600055565b6000610a2083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bcf565b6000816001600160a01b0316610abc8585610bfb565b6001600160a01b031614949350505050565b6000610ad982610c13565b610b5e576040516370a0823160e01b81526001600160a01b038316906370a0823190610b0990309060040161126b565b60206040518083038186803b158015610b2157600080fd5b505afa158015610b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b599190611112565b610b60565b475b92915050565b6000818310610b755781610a20565b5090919050565b6001600160a01b03909116600090815260036020526040902080549091019055565b6000610ba984610c13565b610bbd57610bb8848484610c20565b610bc7565b610bc78383610c2d565b949350505050565b60008184841115610bf35760405162461bcd60e51b815260040161019f91906112d9565b505050900390565b600080610c0784610ca5565b9050610bc78184610cb8565b6001600160a01b03161590565b6000610bc7848484610de6565b6000806060846001600160a01b031684604051610c4990611268565b60006040518083038185875af1925050503d8060008114610c86576040519150601f19603f3d011682016040523d82523d6000602084013e610c8b565b606091505b5091509150610c9a8282610e2e565b506001949350505050565b6000816040516020016108e59190611237565b60008151604114610cdb5760405162461bcd60e51b815260040161019f906113a6565b60208201516040830151606084015160001a7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0821115610d2d5760405162461bcd60e51b815260040161019f9061144b565b8060ff16601b14158015610d4557508060ff16601c14155b15610d625760405162461bcd60e51b815260040161019f90611532565b600060018783868660405160008152602001604052604051610d8794939291906112a3565b6020604051602081039080840390855afa158015610da9573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610ddc5760405162461bcd60e51b815260040161019f9061130c565b9695505050505050565b6000610bc7848484604051602401610dff92919061127f565b60408051601f198184030181529190526020810180516001600160e01b031663a9059cbb60e01b179052610e3f565b81610e3b57805160208201fd5b5050565b6000610e4a83610ef9565b610e665760405162461bcd60e51b815260040161019f90611574565b60006060846001600160a01b031684604051610e82919061121b565b6000604051808303816000865af19150503d8060008114610ebf576040519150601f19603f3d011682016040523d82523d6000602084013e610ec4565b606091505b5091509150610ed38282610e2e565b80511580610ef0575080806020019051810190610ef0919061102e565b95945050505050565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470818114801590610bc7575050151592915050565b60008083601f840112610f43578182fd5b50813567ffffffffffffffff811115610f5a578182fd5b602083019150836020828501011115610f7257600080fd5b9250929050565b600060e08284031215610f8a578081fd5b50919050565b600060208284031215610fa1578081fd5b8135610a2081611742565b60008060408385031215610fbe578081fd5b8235610fc981611742565b91506020830135610fd981611742565b809150509250929050565b600080600060608486031215610ff8578081fd5b833561100381611742565b9250602084013561101381611742565b9150604084013561102381611742565b809150509250925092565b60006020828403121561103f578081fd5b81518015158114610a20578182fd5b60006020828403121561105f578081fd5b813567ffffffffffffffff811115611075578182fd5b610bc784828501610f79565b600080600080600060608688031215611098578081fd5b853567ffffffffffffffff808211156110af578283fd5b6110bb89838a01610f79565b965060208801359150808211156110d0578283fd5b6110dc89838a01610f32565b909650945060408801359150808211156110f4578283fd5b5061110188828901610f32565b969995985093965092949392505050565b600060208284031215611123578081fd5b5051919050565b60008284528282602086013780602084860101526020601f19601f85011685010190509392505050565b6000813561116181611742565b6001600160a01b03908116845260208301359061117d82611742565b908116602085015260408301359061119482611742565b8082166040860152606084013560608601526080840135608086015260a084013591506111c082611742565b1660a084015260c082013536839003601e190181126111dd578182fd5b8201803567ffffffffffffffff8111156111f5578283fd5b803603841315611203578283fd5b60e060c0860152610ef060e08601826020850161112a565b6000825161122d818460208701611712565b9190910192915050565b7f16566563746f72205369676e6564204d6573736167653a0a33320000000000008152601a810191909152603a0190565b90565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b901515815260200190565b93845260ff9290921660208401526040830152606082015260800190565b60408101600284106112cf57fe5b9281526020015290565b60006020825282518060208401526112f8816040850160208701611712565b601f01601f19169190910160400192915050565b60208082526018908201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604082015260600190565b6020808252601d908201527f434d4357697468647261773a204348414e4e454c5f4d49534d41544348000000604082015260600190565b6020808252601290820152710434d4357697468647261773a204e4f5f4f560741b604082015260600190565b6020808252601f908201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604082015260600190565b6020808252601f908201527f434d43436f72653a204944454e544943414c5f5041525449434950414e545300604082015260600190565b60208082526019908201527f434d4341737365743a205452414e534645525f4641494c454400000000000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604082015261756560f01b606082015260800190565b6020808252601c908201527f434d4357697468647261773a20494e56414c49445f424f425f53494700000000604082015260600190565b6020808252601c908201527f434d43436f72653a20494e56414c49445f5041525449434950414e5400000000604082015260600190565b6020808252601d908201527f434d4357697468647261773a20414c52454144595f4558454355544544000000604082015260600190565b60208082526022908201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604082015261756560f01b606082015260800190565b6020808252601190820152704c696245524332303a204e4f5f434f444560781b604082015260600190565b6020808252601f908201527f5265656e7472616e637947756172643a205245454e5452414e545f43414c4c00604082015260600190565b6020808252600f908201526e0434d4341737365743a204e4f5f4f5608c1b604082015260600190565b6020808252601e908201527f434d4357697468647261773a20494e56414c49445f414c4943455f5349470000604082015260600190565b60208082526018908201527f434d4341737365743a204f574e45525f4d49534d415443480000000000000000604082015260600190565b6020808252601690820152750434d43436f72653a20414c52454144595f53455455560541b604082015260600190565b6020808252601a908201527f4d6173746572636f70793a204f4e4c595f5649415f50524f5859000000000000604082015260600190565b600060208252610a206020830184611154565b6000604082526116fa6040830185611154565b90508260208301529392505050565b90815260200190565b60005b8381101561172d578181015183820152602001611715565b8381111561173c576000848401525b50505050565b6001600160a01b038116811461175757600080fd5b5056fea2646970667358221220f265a1d7c8d094857bdd087286da0aa01ff24bb423a5b6abf13da925debad26f64736f6c63430007010033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
