0 txs
20 calls
constructor
constructor(uint16 localChainId, string _nativeTokenName)
functions
ADMIN_ROLE
viewfunction ADMIN_ROLE() view returns (bytes32)
estimateForeignFees
viewfunction estimateForeignFees(uint256 toChainId, string fromToken, string toToken) view returns (uint256 fee)
getChain
viewfunction getChain(uint16 chainId) view returns (tuple chain)
getForeignFee
viewfunction getForeignFee(uint16 foreignChainId, uint8 op) view returns (uint256)
getForeignStrategies
viewfunction getForeignStrategies(uint256 chainId, string fromToken, string toToken) view returns (uint8[])
getIncomingStrategies
viewfunction getIncomingStrategies(uint256 chainId, string fromToken, string toToken) view returns (uint8[])
getLocalStrategies
viewfunction getLocalStrategies(uint256 chainId, string fromToken, string toToken) view returns (uint8[])
getNativeCoinName
viewfunction getNativeCoinName() view returns (string)
getStrategies
viewfunction getStrategies(uint256 chainId, string fromToken, string toToken) view returns (uint8[] foreign, uint8[] incoming, uint8[] local)
getToken
viewfunction getToken(string symbol) view returns (tuple token)
isChainSupported
viewfunction isChainSupported(uint16 chainId) view returns (bool)
isTokenSupported
viewfunction isTokenSupported(string symbol) view returns (bool)
nativeTokenName
viewfunction nativeTokenName() view returns (string)
roles
viewfunction roles(address bearer) view returns (bytes32 role)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
setChain
nonpayablefunction setChain(uint16 chainId, tuple chain)
setChains
nonpayablefunction setChains(uint16[] chainIds, tuple[] chains)
setStrategies
nonpayablefunction setStrategies(uint256 chainId, string fromToken, string toToken, uint8[] foreign, uint8[] incoming, uint8[] local)
setToken
nonpayablefunction setToken(string symbol, address target, uint8 tokenDecimals, uint8 priceDecimals, address priceFeed)
updateAdmin
nonpayablefunction updateAdmin(address newAdmin)
events
No events.
errors
No errors.
creation bytecode
0x60a06040527fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756080523480156200003557600080fd5b5060405162002e7538038062002e75833981016040819052620000589162000157565b60008261ffff1611620000b25760405162461bcd60e51b815260206004820152601460248201527f556e737570706f7274656420636861696e20496400000000000000000000000060448201526064015b60405180910390fd5b6000815111620001055760405162461bcd60e51b815260206004820152601760248201527f456d707479206e617469766520746f6b656e206e616d650000000000000000006044820152606401620000a9565b6001805461ffff191661ffff841617905560805133600090815260056020526040812091909155620001388282620002d9565b505050620003a5565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156200016b57600080fd5b825161ffff811681146200017e57600080fd5b602084810151919350906001600160401b03808211156200019e57600080fd5b818601915086601f830112620001b357600080fd5b815181811115620001c857620001c862000141565b604051601f8201601f19908116603f01168101908382118183101715620001f357620001f362000141565b8160405282815289868487010111156200020c57600080fd5b600093505b8284101562000230578484018601518185018701529285019262000211565b60008684830101528096505050505050509250929050565b600181811c908216806200025d57607f821691505b6020821081036200027e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002d4576000816000526020600020601f850160051c81016020861015620002af5750805b601f850160051c820191505b81811015620002d057828155600101620002bb565b5050505b505050565b81516001600160401b03811115620002f557620002f562000141565b6200030d8162000306845462000248565b8462000284565b602080601f8311600181146200034557600084156200032c5750858301515b600019600386901b1c1916600185901b178555620002d0565b600085815260208120601f198616915b82811015620003765788860151825594840194600190910190840162000355565b5085821015620003955787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051612a8a620003eb6000396000818161023c0152818161068601528181610aad01528181610c3301528181610efb01528181610f480152610f7d0152612a8a6000f3fe608060405234801561001057600080fd5b506004361061016c5760003560e01c806378903167116100cd578063adb0b15a11610081578063c1733f6811610066578063c1733f68146104bd578063e2f273bd14610549578063f31127801461055c57600080fd5b8063adb0b15a14610497578063b6fe7e22146104aa57600080fd5b806396c8cc72116100b257806396c8cc721461044257806399374642146104555780639cb9a5941461047557600080fd5b8063789031671461026c578063893cd5d11461042f57600080fd5b80633ae913391161012457806349e5799d1161010957806349e5799d1461021a57806371433cfb1461022f57806375b238fc1461023757600080fd5b80633ae91339146101f2578063457e4c221461020757600080fd5b806310419e6c1161015557806310419e6c146101ac578063104e9e76146101cc57806328f41de3146101df57600080fd5b806301ffc9a7146101715780630d3652ec14610199575b600080fd5b61018461017f366004611ee9565b61056f565b60405190151581526020015b60405180910390f35b6101846101a736600461200c565b610608565b6101bf6101ba366004612041565b610615565b60405161019091906120ed565b6101bf6101da366004612041565b61062e565b6101846101ed366004612117565b61063d565b6102056102003660046122ca565b610674565b005b61020561021536600461239e565b610a9b565b610222610ae2565b6040516101909190612482565b610222610b70565b61025e7f000000000000000000000000000000000000000000000000000000000000000081565b604051908152602001610190565b61042261027a366004612117565b604080516101c081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101829052610160810182905261018081018290526101a08101919091525061ffff1660009081526002602081815260409283902083516101c081018552815467ffffffffffffffff808216835268010000000000000000808304821695840195909552700100000000000000000000000000000000808304821697840197909752600160c01b91829004811660608401526001840154808216608080860191909152868204831660a0860152888204831660c0860152929004811660e084015294830154808616610100808501919091529481049095166101208301529490930490931b6fffffffffffffffffffffffffffffffff191661014083015260039092015460ff811661016083015291820460a81b74ffffffffffffffffffffffffffffffffffffffffff19166101808201526c010000000000000000000000009091046001600160a01b03166101a082015290565b60405161019091906124b5565b61025e61043d36600461261e565b610c02565b6102056104503660046126c0565b610c21565b61025e61046336600461279a565b60056020526000908152604090205481565b610488610483366004612041565b610d1b565b604051610190939291906127b5565b61025e6104a5366004612041565b610d3b565b6101bf6104b8366004612041565b610dd7565b6104d06104cb36600461200c565b610de6565b6040516101909190600060c0820190506001600160a01b0380845116835260ff602085015116602084015260ff604085015116604084015260ff60608501511660608401528060808501511660808401525073ffffffffffffffffffffffffffffffffffffffff1960a08401511660a083015292915050565b61020561055736600461279a565b610ee9565b61020561056a3660046127f8565b610f6b565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316148061060257507fffffffff0000000000000000000000000000000000000000000000000000000082167fe3a6c2dc00000000000000000000000000000000000000000000000000000000145b92915050565b6000610602600183610fbc565b606061062460048585856110b9565b90505b9392505050565b60606106246004858585611110565b61ffff81166000908152600260205260408120600301546c0100000000000000000000000090046001600160a01b03161515610602565b336000908152600560205260409020547f0000000000000000000000000000000000000000000000000000000000000000146106af57600080fd5b610a9760018383604051806101c00160405280826000015167ffffffffffffffff168152602001826020015167ffffffffffffffff168152602001826040015167ffffffffffffffff168152602001826060015167ffffffffffffffff168152602001826080015167ffffffffffffffff1681526020018260a0015167ffffffffffffffff1681526020018260c0015167ffffffffffffffff1681526020018260e0015167ffffffffffffffff16815260200182610100015167ffffffffffffffff16815260200182610120015167ffffffffffffffff1681526020018261014001516fffffffffffffffffffffffffffffffff1916815260200182610160015160ff16815260200182610180015174ffffffffffffffffffffffffffffffffffffffffff19168152602001826101a001516001600160a01b03168152508360010160008461ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160000160186101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c08201518160010160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060e08201518160010160186101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101008201518160020160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101208201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101408201518160020160106101000a8154816fffffffffffffffffffffffffffffffff021916908360801c02179055506101608201518160030160006101000a81548160ff021916908360ff1602179055506101808201518160030160016101000a8154816affffffffffffffffffffff021916908360a81c02179055506101a082015181600301600c6101000a8154816001600160a01b0302191690836001600160a01b03160217905550905050505050565b5050565b336000908152600560205260409020547f000000000000000000000000000000000000000000000000000000000000000014610ad657600080fd5b610a9760018383611167565b60008054610aef90612878565b80601f0160208091040260200160405190810160405280929190818152602001828054610b1b90612878565b8015610b685780601f10610b3d57610100808354040283529160200191610b68565b820191906000526020600020905b815481529060010190602001808311610b4b57829003601f168201915b505050505081565b606060008054610b7f90612878565b80601f0160208091040260200160405190810160405280929190818152602001828054610bab90612878565b8015610bf85780601f10610bcd57610100808354040283529160200191610bf8565b820191906000526020600020905b815481529060010190602001808311610bdb57829003601f168201915b5050505050905090565b6000610c10600184846114cf565b67ffffffffffffffff169392505050565b336000908152600560205260409020547f000000000000000000000000000000000000000000000000000000000000000014610c5c57600080fd5b6000855111610cb25760405162461bcd60e51b815260206004820152601060248201527f456d7074792066726f6d20746f6b656e0000000000000000000000000000000060448201526064015b60405180910390fd5b6000845111610d035760405162461bcd60e51b815260206004820152600e60248201527f456d70747920746f20746f6b656e0000000000000000000000000000000000006044820152606401610ca9565b610d13600487878787878761176f565b505050505050565b60608080610d2c6004878787611812565b92509250925093509350939050565b600080610d49858585610dd7565b90508051600003610dc25760405162461bcd60e51b815260206004820152603c60248201527f456d6d65744461746156323a2046656520657374696d6174696f6e206661696c60448201527f65642c20666f726569676e207374726174656779206e6f7420736574000000006064820152608401610ca9565b610dce6001868361184b565b95945050505050565b60606106246004858585611b21565b6040805160c081018252600080825260208201819052818301819052606082018190526080820181905260a08201529051600390610e259084906128b2565b908152604080516020928190038301812060c08201835280546001600160a01b0380821684527401000000000000000000000000000000000000000080830460ff90811697860197909752750100000000000000000000000000000000000000000083048716958501959095527601000000000000000000000000000000000000000000009091049094166060830152600101549283166080820152910460a090811b73ffffffffffffffffffffffffffffffffffffffff19169082015292915050565b336000908152600560205260409020547f000000000000000000000000000000000000000000000000000000000000000014610f2457600080fd5b336000908152600560205260408082208290556001600160a01b03929092168152207f00000000000000000000000000000000000000000000000000000000000000009055565b336000908152600560205260409020547f000000000000000000000000000000000000000000000000000000000000000014610fa657600080fd5b610fb560018686868686611b76565b5050505050565b6000808360020183604051610fd191906128b2565b908152604080516020928190038301812060c08201835280546001600160a01b038082168085527401000000000000000000000000000000000000000080840460ff9081169887019890985275010000000000000000000000000000000000000000008404881696860196909652760100000000000000000000000000000000000000000000909204909516606084015260019091015493841660808301529190920460a090811b73ffffffffffffffffffffffffffffffffffffffff191690830152909150158015906110b1575060808101516001600160a01b031615155b949350505050565b600083815260208590526040908190209051606091610dce916110dd9086906128b2565b9081526020016040518091039020836040516110f991906128b2565b908152602001604051809103902060010154611d67565b600083815260208590526040908190209051606091610dce916111349086906128b2565b90815260200160405180910390208360405161115091906128b2565b908152602001604051809103902060020154611d67565b8151815181146111df5760405162461bcd60e51b815260206004820152602760248201527f636861696e49647320616e6420636861696e73206c656e6774687320646f6e2760448201527f74206d61746368000000000000000000000000000000000000000000000000006064820152608401610ca9565b60005b81811015610fb5578281815181106111fc576111fc6128ce565b602002602001015185600101600086848151811061121c5761121c6128ce565b602002602001015161ffff1661ffff16815260200190815260200160002060008201518160000160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060208201518160000160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060408201518160000160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060608201518160000160186101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060808201518160010160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060a08201518160010160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060c08201518160010160106101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555060e08201518160010160186101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101008201518160020160006101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101208201518160020160086101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506101408201518160020160106101000a8154816fffffffffffffffffffffffffffffffff021916908360801c02179055506101608201518160030160006101000a81548160ff021916908360ff1602179055506101808201518160030160016101000a8154816affffffffffffffffffffff021916908360a81c02179055506101a082015181600301600c6101000a8154816001600160a01b0302191690836001600160a01b0316021790555090505080806001019150506111e2565b60008160ff16600203611502575061ffff8216600090815260018401602052604090205467ffffffffffffffff16610627565b8160ff1660080361153f575061ffff8216600090815260018401602052604090205468010000000000000000900467ffffffffffffffff16610627565b8160ff16600403611584575061ffff82166000908152600184016020526040902054700100000000000000000000000000000000900467ffffffffffffffff16610627565b8160ff166006036115bc575061ffff82166000908152600184016020526040902054600160c01b900467ffffffffffffffff16610627565b8160ff166009036115f0575061ffff8216600090815260018085016020526040909120015467ffffffffffffffff16610627565b8160ff16600a03611630575061ffff8216600090815260018481016020526040909120015468010000000000000000900467ffffffffffffffff16610627565b8160ff16600b03611678575061ffff82166000908152600184810160205260409091200154700100000000000000000000000000000000900467ffffffffffffffff16610627565b8160ff16600c036116b3575061ffff82166000908152600184810160205260409091200154600160c01b900467ffffffffffffffff16610627565b8160ff16600d036116e7575061ffff8216600090815260018401602052604090206002015467ffffffffffffffff16610627565b8160ff16600e03611727575061ffff8216600090815260018401602052604090206002015468010000000000000000900467ffffffffffffffff16610627565b60405162461bcd60e51b815260206004820152601d60248201527f427269646765466565733a20496e76616c6964206f7065726174696f6e0000006044820152606401610ca9565b604051806060016040528061178385611e18565b815260200161179184611e18565b815260200161179f83611e18565b90526000878152602089905260409081902090516117be9088906128b2565b9081526020016040518091039020856040516117da91906128b2565b908152602001604051809103902060008201518160000155602082015181600101556040820151816002015590505050505050505050565b606080606061182387878787611b21565b9250611831878787876110b9565b915061183f87878787611110565b90509450945094915050565b61ffff808316600090815260018501602052604080822060039081015487549094168352908220015490916001600160a01b036c01000000000000000000000000918290048116929190910416816118e55760405162461bcd60e51b815260206004820152601960248201527f556e737570706f7274656420666f726569676e20636861696e000000000000006044820152606401610ca9565b6001600160a01b03811661193b5760405162461bcd60e51b815260206004820152601a60248201527f4c6f63616c20636861696e206e6f7420636f6e666967757265640000000000006044820152606401610ca9565b6000805b85518110156119805761196c888888848151811061195f5761195f6128ce565b60200260200101516114cf565b61197690836128fa565b915060010161193f565b506000836001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa1580156119c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119e5919061293c565b5050509150506000836001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611a2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a4f919061293c565b50505091505060008213611aa55760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420666f726569676e20636f696e2070726963650000000000006044820152606401610ca9565b60008113611af55760405162461bcd60e51b815260206004820152601860248201527f496e76616c6964206c6f63616c20636f696e20707269636500000000000000006044820152606401610ca9565b80611b0a8367ffffffffffffffff8616612980565b611b149190612997565b9998505050505050505050565b600083815260208590526040908190209051606091610dce91611b459086906128b2565b908152602001604051809103902083604051611b6191906128b2565b90815260405190819003602001902054611d67565b600a85511115611bc85760405162461bcd60e51b815260206004820152600f60248201527f53796d626f6c20746f6f206c6f6e6700000000000000000000000000000000006044820152606401610ca9565b6040518060c00160405280856001600160a01b031681526020018460ff1681526020018360ff168152602001865160ff168152602001826001600160a01b0316815260200186611c17906129b9565b7fffffffffffffffffffff000000000000000000000000000000000000000000001690526040516002880190611c4e9088906128b2565b908152604080516020928190038301902083518154938501519285015160608601516001600160a01b0392831674ffffffffffffffffffffffffffffffffffffffffff19909616959095177401000000000000000000000000000000000000000060ff9586168102919091177fffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000928616929092027fffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffff16919091177601000000000000000000000000000000000000000000009490951693909302939093178155608084015160a09485015193169290931c0217600190910155505050505050565b60608160ff811667ffffffffffffffff811115611d8657611d86611f2b565b604051908082528060200260200182016040528015611daf578160200160208202803683370190505b50915060005b8160ff168160ff161015611e1157611dce816008612a09565b611dd99060f8612a25565b60ff1684901c60001c838260ff1681518110611df757611df76128ce565b60ff90921660209283029190910190910152600101611db5565b5050919050565b8051600090601f60ff82161115611e715760405162461bcd60e51b815260206004820152600e60248201527f546f6f206d616e792073746570730000000000000000000000000000000000006044820152606401610ca9565b6000805b8260ff168160ff161015611edc57611e8e816008612a09565b611e999060f8612a25565b60ff16858260ff1681518110611eb157611eb16128ce565b6020026020010151600e811115611eca57611eca612a3e565b60ff16901b9190911790600101611e75565b5060ff9091161792915050565b600060208284031215611efb57600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461062757600080fd5b634e487b7160e01b600052604160045260246000fd5b6040516101c0810167ffffffffffffffff81118282101715611f6557611f65611f2b565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611f9457611f94611f2b565b604052919050565b600082601f830112611fad57600080fd5b813567ffffffffffffffff811115611fc757611fc7611f2b565b611fda6020601f19601f84011601611f6b565b818152846020838601011115611fef57600080fd5b816020850160208301376000918101602001919091529392505050565b60006020828403121561201e57600080fd5b813567ffffffffffffffff81111561203557600080fd5b6110b184828501611f9c565b60008060006060848603121561205657600080fd5b83359250602084013567ffffffffffffffff8082111561207557600080fd5b61208187838801611f9c565b9350604086013591508082111561209757600080fd5b506120a486828701611f9c565b9150509250925092565b60008151808452602080850194506020840160005b838110156120e257815160ff16875295820195908201906001016120c3565b509495945050505050565b60208152600061062760208301846120ae565b803561ffff8116811461211257600080fd5b919050565b60006020828403121561212957600080fd5b61062782612100565b803567ffffffffffffffff8116811461211257600080fd5b80356fffffffffffffffffffffffffffffffff198116811461211257600080fd5b803560ff8116811461211257600080fd5b803574ffffffffffffffffffffffffffffffffffffffffff198116811461211257600080fd5b80356001600160a01b038116811461211257600080fd5b60006101c082840312156121cc57600080fd5b6121d4611f41565b90506121df82612132565b81526121ed60208301612132565b60208201526121fe60408301612132565b604082015261220f60608301612132565b606082015261222060808301612132565b608082015261223160a08301612132565b60a082015261224260c08301612132565b60c082015261225360e08301612132565b60e0820152610100612266818401612132565b90820152610120612278838201612132565b9082015261014061228a83820161214a565b9082015261016061229c83820161216b565b908201526101806122ae83820161217c565b908201526101a06122c08382016121a2565b9082015292915050565b6000806101e083850312156122de57600080fd5b6122e783612100565b91506122f684602085016121b9565b90509250929050565b600067ffffffffffffffff82111561231957612319611f2b565b5060051b60200190565b600082601f83011261233457600080fd5b81356020612349612344836122ff565b611f6b565b808382526020820191506101c0602081860288010194508785111561236d57600080fd5b602087015b858110156123915761238489826121b9565b8452928401928101612372565b5090979650505050505050565b600080604083850312156123b157600080fd5b823567ffffffffffffffff808211156123c957600080fd5b818501915085601f8301126123dd57600080fd5b813560206123ed612344836122ff565b82815260059290921b8401810191818101908984111561240c57600080fd5b948201945b838610156124315761242286612100565b82529482019490820190612411565b9650508601359250508082111561244757600080fd5b5061245485828601612323565b9150509250929050565b60005b83811015612479578181015183820152602001612461565b50506000910152565b60208152600082518060208401526124a181604085016020870161245e565b601f01601f19169190910160400192915050565b815167ffffffffffffffff1681526101c0810160208301516124e3602084018267ffffffffffffffff169052565b5060408301516124ff604084018267ffffffffffffffff169052565b50606083015161251b606084018267ffffffffffffffff169052565b506080830151612537608084018267ffffffffffffffff169052565b5060a083015161255360a084018267ffffffffffffffff169052565b5060c083015161256f60c084018267ffffffffffffffff169052565b5060e083015161258b60e084018267ffffffffffffffff169052565b506101008381015167ffffffffffffffff908116918401919091526101208085015190911690830152610140808401516fffffffffffffffffffffffffffffffff1916908301526101608084015160ff16908301526101808084015174ffffffffffffffffffffffffffffffffffffffffff1916908301526101a0928301516001600160a01b0316929091019190915290565b6000806040838503121561263157600080fd5b61263a83612100565b91506122f66020840161216b565b600082601f83011261265957600080fd5b81356020612669612344836122ff565b8083825260208201915060208460051b87010193508684111561268b57600080fd5b602086015b848110156126b5578035600f81106126a85760008081fd5b8352918301918301612690565b509695505050505050565b60008060008060008060c087890312156126d957600080fd5b86359550602087013567ffffffffffffffff808211156126f857600080fd5b6127048a838b01611f9c565b9650604089013591508082111561271a57600080fd5b6127268a838b01611f9c565b9550606089013591508082111561273c57600080fd5b6127488a838b01612648565b9450608089013591508082111561275e57600080fd5b61276a8a838b01612648565b935060a089013591508082111561278057600080fd5b5061278d89828a01612648565b9150509295509295509295565b6000602082840312156127ac57600080fd5b610627826121a2565b6060815260006127c860608301866120ae565b82810360208401526127da81866120ae565b905082810360408401526127ee81856120ae565b9695505050505050565b600080600080600060a0868803121561281057600080fd5b853567ffffffffffffffff81111561282757600080fd5b61283388828901611f9c565b955050612842602087016121a2565b93506128506040870161216b565b925061285e6060870161216b565b915061286c608087016121a2565b90509295509295909350565b600181811c9082168061288c57607f821691505b6020821081036128ac57634e487b7160e01b600052602260045260246000fd5b50919050565b600082516128c481846020870161245e565b9190910192915050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b67ffffffffffffffff81811683821601908082111561291b5761291b6128e4565b5092915050565b805169ffffffffffffffffffff8116811461211257600080fd5b600080600080600060a0868803121561295457600080fd5b61295d86612922565b945060208601519350604086015192506060860151915061286c60808701612922565b8082028115828204841417610602576106026128e4565b6000826129b457634e487b7160e01b600052601260045260246000fd5b500490565b6000815160208301517fffffffffffffffffffff000000000000000000000000000000000000000000008082169350600a831015612a0157808184600a0360031b1b83161693505b505050919050565b60ff818116838216029081169081811461291b5761291b6128e4565b60ff8281168282160390811115610602576106026128e4565b634e487b7160e01b600052602160045260246000fdfea264697066735822122007d5b2628c03be7c895b12c5edb33409db81cc63df633d8113ee77fba0d3fa4164736f6c63430008180033000000000000000000000000000000000000000000000000000000000000003800000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000003424e420000000000000000000000000000000000000000000000000000000000