0 txs
0 calls
constructor
constructor(address _l1Router, address _l1LPTEscrow, address _l1Lpt, address _l2Lpt, address _inbox)
functions
calculateL2TokenAddress
viewfunction calculateL2TokenAddress(address l1Token) view returns (address)
counterpartGateway
viewfunction counterpartGateway() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getOutboundCalldata
purefunction getOutboundCalldata(address l1Token, address from, address to, uint256 amount, bytes data) pure returns (bytes outboundCalldata)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
inbox
viewfunction inbox() view returns (address)
l1Lpt
viewfunction l1Lpt() view returns (address)
l1LPTEscrow
viewfunction l1LPTEscrow() view returns (address)
l1Router
viewfunction l1Router() view returns (address)
l2Counterpart
viewfunction l2Counterpart() view returns (address)
l2Lpt
viewfunction l2Lpt() view returns (address)
minter
viewfunction minter() view returns (address)
paused
viewfunction paused() view returns (bool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
finalizeInboundTransfer
nonpayablefunction finalizeInboundTransfer(address l1Token, address from, address to, uint256 amount, bytes data)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
outboundTransfer
payablefunction outboundTransfer(address _l1Token, address _to, uint256 _amount, uint256 _maxGas, uint256 _gasPriceBid, bytes _data) payable returns (bytes)
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setCounterpart
nonpayablefunction setCounterpart(address _l2Counterpart)
setMinter
nonpayablefunction setMinter(address _minter)
unpause
nonpayablefunction unpause()
events
DepositInitiated
event DepositInitiated(address _l1Token, address indexed _from, address indexed _to, uint256 indexed _sequenceNumber, uint256 _amount)
L2CounterpartUpdate
event L2CounterpartUpdate(address _l2Counterpart)
MinterUpdate
event MinterUpdate(address _minter)
Paused
event Paused(address account)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
TxToL2
event TxToL2(address indexed from, address indexed to, uint256 indexed seqNum, bytes data)
Unpaused
event Unpaused(address account)
WithdrawalFinalized
event WithdrawalFinalized(address _l1Token, address indexed _from, address indexed _to, uint256 indexed _exitNum, uint256 _amount)
errors
No errors.
creation bytecode
0x6101206040523480156200001257600080fd5b506040516200373038038062003730833981810160405281019062000038919062000429565b8083836000600160006101000a81548160ff0219169083151502179055506200006b6000801b336200018e60201b60201c565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff168152505050508073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050508473ffffffffffffffffffffffffffffffffffffffff1660e08173ffffffffffffffffffffffffffffffffffffffff16815250508373ffffffffffffffffffffffffffffffffffffffff166101008173ffffffffffffffffffffffffffffffffffffffff1681525050620001836200027f60201b60201c565b505050505062000562565b620001a082826200033660201b60201c565b6200027b57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000220620003a060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6200028f620003a860201b60201c565b15620002d2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002c99062000512565b60405180910390fd5b60018060006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586200031d620003a060201b60201c565b6040516200032c919062000545565b60405180910390a1565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b6000600160009054906101000a900460ff16905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620003f182620003c4565b9050919050565b6200040381620003e4565b81146200040f57600080fd5b50565b6000815190506200042381620003f8565b92915050565b600080600080600060a08688031215620004485762000447620003bf565b5b6000620004588882890162000412565b95505060206200046b8882890162000412565b94505060406200047e8882890162000412565b9350506060620004918882890162000412565b9250506080620004a48882890162000412565b9150509295509295909350565b600082825260208201905092915050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000620004fa601083620004b1565b91506200050782620004c2565b602082019050919050565b600060208201905081810360008301526200052d81620004eb565b9050919050565b6200053f81620003e4565b82525050565b60006020820190506200055c600083018462000534565b92915050565b60805160a05160c05160e0516101005161313c620005f4600039600081816109ee01528181610aa001528181610b5e01528181610e0a0152611348015260008181610dcf01526119ae0152600081816106b3015281816114e00152611cab015260008181610f6c01526110a30152600081816105ff0152818161092e015281816110470152611116015261313c6000f3fe60806040526004361061014b5760003560e01c806377061e4d116100b6578063a217fddf1161006f578063a217fddf1461046e578063a7e28d4814610499578063d2ce7d65146104d6578063d547741f14610506578063fb0e722b1461052f578063fca3b5aa1461055a5761014b565b806377061e4d1461035e5780638456cb59146103875780638e7c8efe1461039e57806391d14854146103c95780639d79bdb514610406578063a0c76a96146104315761014b565b80632f2ff15d116101085780632f2ff15d1461027457806336568abe1461029d5780633f4ba83a146102c6578063407395e0146102dd5780635c975abb1461030857806362dcefbb146103335761014b565b806301ffc9a714610150578063072566771461018d57806307546172146101b8578063248a9ca3146101e35780632db09c1c146102205780632e567b361461024b575b600080fd5b34801561015c57600080fd5b5061017760048036038101906101729190611e47565b610583565b6040516101849190611e8f565b60405180910390f35b34801561019957600080fd5b506101a26105fd565b6040516101af9190611eeb565b60405180910390f35b3480156101c457600080fd5b506101cd610621565b6040516101da9190611eeb565b60405180910390f35b3480156101ef57600080fd5b5061020a60048036038101906102059190611f3c565b610647565b6040516102179190611f78565b60405180910390f35b34801561022c57600080fd5b50610235610666565b6040516102429190611eeb565b60405180910390f35b34801561025757600080fd5b50610272600480360381019061026d919061205a565b61068e565b005b34801561028057600080fd5b5061029b600480360381019061029691906120f4565b610d01565b005b3480156102a957600080fd5b506102c460048036038101906102bf91906120f4565b610d2a565b005b3480156102d257600080fd5b506102db610dad565b005b3480156102e957600080fd5b506102f2610dcd565b6040516102ff9190611eeb565b60405180910390f35b34801561031457600080fd5b5061031d610df1565b60405161032a9190611e8f565b60405180910390f35b34801561033f57600080fd5b50610348610e08565b6040516103559190611eeb565b60405180910390f35b34801561036a57600080fd5b5061038560048036038101906103809190612134565b610e2c565b005b34801561039357600080fd5b5061039c610ebc565b005b3480156103aa57600080fd5b506103b3610edc565b6040516103c09190611eeb565b60405180910390f35b3480156103d557600080fd5b506103f060048036038101906103eb91906120f4565b610f00565b6040516103fd9190611e8f565b60405180910390f35b34801561041257600080fd5b5061041b610f6a565b6040516104289190611eeb565b60405180910390f35b34801561043d57600080fd5b50610458600480360381019061045391906122a2565b610f8e565b60405161046591906123c1565b60405180910390f35b34801561047a57600080fd5b5061048361103c565b6040516104909190611f78565b60405180910390f35b3480156104a557600080fd5b506104c060048036038101906104bb9190612134565b611043565b6040516104cd9190611eeb565b60405180910390f35b6104f060048036038101906104eb91906123e3565b6110ca565b6040516104fd91906123c1565b60405180910390f35b34801561051257600080fd5b5061052d600480360381019061052891906120f4565b6114b5565b005b34801561053b57600080fd5b506105446114de565b60405161055191906124f1565b60405180910390f35b34801561056657600080fd5b50610581600480360381019061057c9190612134565b611502565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105f657506105f582611593565b5b9050919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000838152602001908152602001600020600101549050919050565b600060018054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e78cea926040518163ffffffff1660e01b815260040160206040518083038186803b15801561071757600080fd5b505afa15801561072b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074f9190612521565b90508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146107bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b6906125ab565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663ab5d89436040518163ffffffff1660e01b815260040160206040518083038186803b15801561080757600080fd5b505afa15801561081b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061083f9190612521565b73ffffffffffffffffffffffffffffffffffffffff166380648b026040518163ffffffff1660e01b815260040160206040518083038186803b15801561088457600080fd5b505afa158015610898573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108bc9190612521565b90508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461092c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092390612617565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16146109ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b190612683565b60405180910390fd5b600085858101906109cb91906126a3565b50905060008a73ffffffffffffffffffffffffffffffffffffffff166370a082317f00000000000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b8152600401610a299190611eeb565b60206040518083038186803b158015610a4157600080fd5b505afa158015610a55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a799190612714565b9050808811610b37578a73ffffffffffffffffffffffffffffffffffffffff166323b872dd7f00000000000000000000000000000000000000000000000000000000000000008b8b6040518463ffffffff1660e01b8152600401610adf93929190612750565b602060405180830381600087803b158015610af957600080fd5b505af1158015610b0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3191906127b3565b50610c8c565b6000811115610bf1578a73ffffffffffffffffffffffffffffffffffffffff166323b872dd7f00000000000000000000000000000000000000000000000000000000000000008b846040518463ffffffff1660e01b8152600401610b9d93929190612750565b602060405180830381600087803b158015610bb757600080fd5b505af1158015610bcb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bef91906127b3565b505b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638c2a993e8a838b610c3c919061280f565b6040518363ffffffff1660e01b8152600401610c59929190612843565b600060405180830381600087803b158015610c7357600080fd5b505af1158015610c87573d6000803e3d6000fd5b505050505b818973ffffffffffffffffffffffffffffffffffffffff168b73ffffffffffffffffffffffffffffffffffffffff167f891afe029c75c4f8c5855fc3480598bc5a53739344f6ae575bdb7ea2a79f56b38e8c604051610cec929190612843565b60405180910390a45050505050505050505050565b610d0a82610647565b610d1b81610d166115fd565b611605565b610d2583836116a2565b505050565b610d326115fd565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610d9f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d96906128de565b60405180910390fd5b610da98282611782565b5050565b6000801b610dc281610dbd6115fd565b611605565b610dca611863565b50565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600160009054906101000a900460ff16905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000801b610e4181610e3c6115fd565b611605565b816001806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f5e7a493863411309f190ab78ded345429e56b2df9a2b48530f31243fa31e992882604051610eb09190611eeb565b60405180910390a15050565b6000801b610ed181610ecc6115fd565b611605565b610ed9611905565b50565b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b606080632e567b3660e01b878787878588604051602001610fb09291906128fe565b604051602081830303815290604052604051602401610fd3959493929190612935565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff838183161783525050505091505095945050505050565b6000801b81565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146110a157600090506110c5565b7f000000000000000000000000000000000000000000000000000000000000000090505b919050565b60606110d4610df1565b15611114576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110b906129db565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff16146111a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119990612683565b60405180910390fd5b600086116111e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111dc90612a47565b60405180910390fd5b6000806060600061123987878080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f820116905080830192505050505050506119a7565b8094508193508296505050506000825114611289576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128090612ab3565b60405180910390fd5b6000888a6112979190612ad3565b826112a29190612b2d565b9050600082116112e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112de90612bcf565b60405180910390fd5b803414611329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132090612c3b565b60405180910390fd5b8c73ffffffffffffffffffffffffffffffffffffffff166323b872dd867f00000000000000000000000000000000000000000000000000000000000000008e6040518463ffffffff1660e01b815260040161138693929190612750565b602060405180830381600087803b1580156113a057600080fd5b505af11580156113b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d891906127b3565b5060006113e88e878f8f88610f8e565b905061141860018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687858e8e86611a4b565b9450505050818a73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fb8910b9960c443aac3240b98585384e3a6f109fbf6969e264c3f183d69aba7e18e8d60405161147d929190612843565b60405180910390a4816040516020016114969190612c5b565b6040516020818303038152906040529350505050979650505050505050565b6114be82610647565b6114cf816114ca6115fd565b611605565b6114d98383611782565b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000801b611517816115126115fd565b611605565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe4445650be24dc57d85324bde2bc79571389abac71a7126fb392df5aa012600f826040516115879190611eeb565b60405180910390a15050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b61160f8282610f00565b61169e576116348173ffffffffffffffffffffffffffffffffffffffff166014611a6a565b6116428360001c6020611a6a565b604051602001611653929190612d55565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116959190612dc8565b60405180910390fd5b5050565b6116ac8282610f00565b61177e57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506117236115fd565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b61178c8282610f00565b1561185f57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506118046115fd565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b61186b610df1565b6118aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a190612e36565b60405180910390fd5b6000600160006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa6118ee6115fd565b6040516118fb9190611eeb565b60405180910390a1565b61190d610df1565b1561194d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611944906129db565b60405180910390fd5b60018060006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586119906115fd565b60405161199d9190611eeb565b60405180910390a1565b60008060607f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415611a215783806020019051810190611a149190612f04565b8092508194505050611a28565b3392508390505b80806020019051810190611a3c9190612f60565b80925081935050509193909250565b6000611a5e878734600089898989611ca6565b90509695505050505050565b606060006002836002611a7d9190612ad3565b611a879190612b2d565b67ffffffffffffffff811115611aa057611a9f612177565b5b6040519080825280601f01601f191660200182016040528015611ad25781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611b0a57611b09612fbc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611b6e57611b6d612fbc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002611bae9190612ad3565b611bb89190612b2d565b90505b6001811115611c58577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110611bfa57611bf9612fbc565b5b1a60f81b828281518110611c1157611c10612fbc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080611c5190612feb565b9050611bbb565b5060008414611c9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9390613061565b60405180910390fd5b8091505092915050565b6000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663679b6ded898c8a8a8e8f8c8c8c6040518a63ffffffff1660e01b8152600401611d11989796959493929190613081565b6020604051808303818588803b158015611d2a57600080fd5b505af1158015611d3e573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190611d639190612714565b9050808a73ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff167fc1d1490cf25c3b40d600dfb27c7680340ed1ab901b7e8f3551280968a3b372b086604051611dc391906123c1565b60405180910390a48091505098975050505050505050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e2481611def565b8114611e2f57600080fd5b50565b600081359050611e4181611e1b565b92915050565b600060208284031215611e5d57611e5c611de5565b5b6000611e6b84828501611e32565b91505092915050565b60008115159050919050565b611e8981611e74565b82525050565b6000602082019050611ea46000830184611e80565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611ed582611eaa565b9050919050565b611ee581611eca565b82525050565b6000602082019050611f006000830184611edc565b92915050565b6000819050919050565b611f1981611f06565b8114611f2457600080fd5b50565b600081359050611f3681611f10565b92915050565b600060208284031215611f5257611f51611de5565b5b6000611f6084828501611f27565b91505092915050565b611f7281611f06565b82525050565b6000602082019050611f8d6000830184611f69565b92915050565b611f9c81611eca565b8114611fa757600080fd5b50565b600081359050611fb981611f93565b92915050565b6000819050919050565b611fd281611fbf565b8114611fdd57600080fd5b50565b600081359050611fef81611fc9565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261201a57612019611ff5565b5b8235905067ffffffffffffffff81111561203757612036611ffa565b5b60208301915083600182028301111561205357612052611fff565b5b9250929050565b60008060008060008060a0878903121561207757612076611de5565b5b600061208589828a01611faa565b965050602061209689828a01611faa565b95505060406120a789828a01611faa565b94505060606120b889828a01611fe0565b935050608087013567ffffffffffffffff8111156120d9576120d8611dea565b5b6120e589828a01612004565b92509250509295509295509295565b6000806040838503121561210b5761210a611de5565b5b600061211985828601611f27565b925050602061212a85828601611faa565b9150509250929050565b60006020828403121561214a57612149611de5565b5b600061215884828501611faa565b91505092915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6121af82612166565b810181811067ffffffffffffffff821117156121ce576121cd612177565b5b80604052505050565b60006121e1611ddb565b90506121ed82826121a6565b919050565b600067ffffffffffffffff82111561220d5761220c612177565b5b61221682612166565b9050602081019050919050565b82818337600083830152505050565b6000612245612240846121f2565b6121d7565b90508281526020810184848401111561226157612260612161565b5b61226c848285612223565b509392505050565b600082601f83011261228957612288611ff5565b5b8135612299848260208601612232565b91505092915050565b600080600080600060a086880312156122be576122bd611de5565b5b60006122cc88828901611faa565b95505060206122dd88828901611faa565b94505060406122ee88828901611faa565b93505060606122ff88828901611fe0565b925050608086013567ffffffffffffffff8111156123205761231f611dea565b5b61232c88828901612274565b9150509295509295909350565b600081519050919050565b600082825260208201905092915050565b60005b83811015612373578082015181840152602081019050612358565b83811115612382576000848401525b50505050565b600061239382612339565b61239d8185612344565b93506123ad818560208601612355565b6123b681612166565b840191505092915050565b600060208201905081810360008301526123db8184612388565b905092915050565b600080600080600080600060c0888a03121561240257612401611de5565b5b60006124108a828b01611faa565b97505060206124218a828b01611faa565b96505060406124328a828b01611fe0565b95505060606124438a828b01611fe0565b94505060806124548a828b01611fe0565b93505060a088013567ffffffffffffffff81111561247557612474611dea565b5b6124818a828b01612004565b925092505092959891949750929550565b6000819050919050565b60006124b76124b26124ad84611eaa565b612492565b611eaa565b9050919050565b60006124c98261249c565b9050919050565b60006124db826124be565b9050919050565b6124eb816124d0565b82525050565b600060208201905061250660008301846124e2565b92915050565b60008151905061251b81611f93565b92915050565b60006020828403121561253757612536611de5565b5b60006125458482850161250c565b91505092915050565b600082825260208201905092915050565b7f4e4f545f46524f4d5f4252494447450000000000000000000000000000000000600082015250565b6000612595600f8361254e565b91506125a08261255f565b602082019050919050565b600060208201905081810360008301526125c481612588565b9050919050565b7f4f4e4c595f434f554e544552504152545f474154455741590000000000000000600082015250565b600061260160188361254e565b915061260c826125cb565b602082019050919050565b60006020820190508181036000830152612630816125f4565b9050919050565b7f544f4b454e5f4e4f545f4c505400000000000000000000000000000000000000600082015250565b600061266d600d8361254e565b915061267882612637565b602082019050919050565b6000602082019050818103600083015261269c81612660565b9050919050565b600080604083850312156126ba576126b9611de5565b5b60006126c885828601611fe0565b925050602083013567ffffffffffffffff8111156126e9576126e8611dea565b5b6126f585828601612274565b9150509250929050565b60008151905061270e81611fc9565b92915050565b60006020828403121561272a57612729611de5565b5b6000612738848285016126ff565b91505092915050565b61274a81611fbf565b82525050565b60006060820190506127656000830186611edc565b6127726020830185611edc565b61277f6040830184612741565b949350505050565b61279081611e74565b811461279b57600080fd5b50565b6000815190506127ad81612787565b92915050565b6000602082840312156127c9576127c8611de5565b5b60006127d78482850161279e565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061281a82611fbf565b915061282583611fbf565b925082821015612838576128376127e0565b5b828203905092915050565b60006040820190506128586000830185611edc565b6128656020830184612741565b9392505050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006128c8602f8361254e565b91506128d38261286c565b604082019050919050565b600060208201905081810360008301526128f7816128bb565b9050919050565b600060408201905081810360008301526129188185612388565b9050818103602083015261292c8184612388565b90509392505050565b600060a08201905061294a6000830188611edc565b6129576020830187611edc565b6129646040830186611edc565b6129716060830185612741565b81810360808301526129838184612388565b90509695505050505050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006129c560108361254e565b91506129d08261298f565b602082019050919050565b600060208201905081810360008301526129f4816129b8565b9050919050565b7f494e56414c49445f5a45524f5f414d4f554e5400000000000000000000000000600082015250565b6000612a3160138361254e565b9150612a3c826129fb565b602082019050919050565b60006020820190508181036000830152612a6081612a24565b9050919050565b7f43414c4c5f484f4f4b5f444154415f4e4f545f414c4c4f574544000000000000600082015250565b6000612a9d601a8361254e565b9150612aa882612a67565b602082019050919050565b60006020820190508181036000830152612acc81612a90565b9050919050565b6000612ade82611fbf565b9150612ae983611fbf565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612b2257612b216127e0565b5b828202905092915050565b6000612b3882611fbf565b9150612b4383611fbf565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612b7857612b776127e0565b5b828201905092915050565b7f4e4f5f5355424d495353494f4e5f434f53540000000000000000000000000000600082015250565b6000612bb960128361254e565b9150612bc482612b83565b602082019050919050565b60006020820190508181036000830152612be881612bac565b9050919050565b7f57524f4e475f4554485f56414c55450000000000000000000000000000000000600082015250565b6000612c25600f8361254e565b9150612c3082612bef565b602082019050919050565b60006020820190508181036000830152612c5481612c18565b9050919050565b6000602082019050612c706000830184612741565b92915050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000612cb7601783612c76565b9150612cc282612c81565b601782019050919050565b600081519050919050565b6000612ce382612ccd565b612ced8185612c76565b9350612cfd818560208601612355565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000612d3f601183612c76565b9150612d4a82612d09565b601182019050919050565b6000612d6082612caa565b9150612d6c8285612cd8565b9150612d7782612d32565b9150612d838284612cd8565b91508190509392505050565b6000612d9a82612ccd565b612da4818561254e565b9350612db4818560208601612355565b612dbd81612166565b840191505092915050565b60006020820190508181036000830152612de28184612d8f565b905092915050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000612e2060148361254e565b9150612e2b82612dea565b602082019050919050565b60006020820190508181036000830152612e4f81612e13565b9050919050565b6000612e6182611eaa565b9050919050565b612e7181612e56565b8114612e7c57600080fd5b50565b600081519050612e8e81612e68565b92915050565b6000612ea7612ea2846121f2565b6121d7565b905082815260208101848484011115612ec357612ec2612161565b5b612ece848285612355565b509392505050565b600082601f830112612eeb57612eea611ff5565b5b8151612efb848260208601612e94565b91505092915050565b60008060408385031215612f1b57612f1a611de5565b5b6000612f2985828601612e7f565b925050602083015167ffffffffffffffff811115612f4a57612f49611dea565b5b612f5685828601612ed6565b9150509250929050565b60008060408385031215612f7757612f76611de5565b5b6000612f85858286016126ff565b925050602083015167ffffffffffffffff811115612fa657612fa5611dea565b5b612fb285828601612ed6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000612ff682611fbf565b9150600082141561300a576130096127e0565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061304b60208361254e565b915061305682613015565b602082019050919050565b6000602082019050818103600083015261307a8161303e565b9050919050565b600061010082019050613097600083018b611edc565b6130a4602083018a612741565b6130b16040830189612741565b6130be6060830188611edc565b6130cb6080830187611edc565b6130d860a0830186612741565b6130e560c0830185612741565b81810360e08301526130f78184612388565b9050999850505050505050505056fea2646970667358221220d2b38db1047051666bcc5f05516f4dc8dfdcd78f97d00ff14822cb38b898980164736f6c6343000809003300000000000000000000000072ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef000000000000000000000000ac60c5260249ce0a8fbbb5d100688f37a64f06ea00000000000000000000000058b6a8a3302369daec383334672404ee733ab239000000000000000000000000289ba1701c2f088cf0faf8b3705246331cb8a8390000000000000000000000004c6f947ae67f572afa4ae0730947de7c874f95ef