0 txs
2 calls
constructor
constructor()
functions
_eventSend
viewfunction _eventSend() view returns (bool)
autopilotSystemRegistry
viewfunction autopilotSystemRegistry() view returns (address)
balanceOf
viewfunction balanceOf(address account) view returns (uint256 balance)
decimals
purefunction decimals() pure returns (uint8)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
deployer
viewfunction deployer() view returns (address)
destinations
viewfunction destinations() view returns (address fxStateSender, address destinationOnL2)
getCurrentCycleID
viewfunction getCurrentCycleID() view returns (uint256)
getDepositInfo
viewfunction getDepositInfo(address account) view returns (uint256 lockCycle, uint256 lockDuration, uint256 amount)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getWithdrawalInfo
viewfunction getWithdrawalInfo(address account) view returns (uint256 minCycle, uint256 amount)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
LOCK_FOR_ROLE
viewfunction LOCK_FOR_ROLE() view returns (bytes32)
manager
viewfunction manager() view returns (address)
maxCap
viewfunction maxCap() view returns (uint256)
maxLockCycles
viewfunction maxLockCycles() view returns (uint256)
minLockCycles
viewfunction minLockCycles() view returns (uint256)
name
purefunction name() pure returns (string)
paused
viewfunction paused() view returns (bool)
requestedWithdrawals
viewfunction requestedWithdrawals(address) view returns (uint256 minCycle, uint256 amount)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
purefunction symbol() pure returns (string)
toke
viewfunction toke() view returns (address)
totalSupply
viewfunction totalSupply() view returns (uint256)
withheldLiquidity
viewfunction withheldLiquidity() view returns (uint256)
accTokeMigration
nonpayablefunction accTokeMigration(address accTokeToMigrateTo, uint256 migrationAmount, uint256 duration, address to)
cancelWithdrawalRequest
nonpayablefunction cancelWithdrawalRequest()
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _manager, uint256 _minLockCycles, uint256 _maxLockCycles, address _toke, uint256 _maxCap)
lockToke
nonpayablefunction lockToke(uint256 tokeAmount, uint256 numOfCycles)
lockTokeFor
nonpayablefunction lockTokeFor(uint256 tokeAmount, uint256 numOfCycles, address account)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
requestWithdrawal
nonpayablefunction requestWithdrawal(uint256 amount)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAutopilotSystemRegistry
nonpayablefunction setAutopilotSystemRegistry(address _autoPilotSystemRegistry)
setDestinations
nonpayablefunction setDestinations(address _fxStateSender, address _destinationOnL2)
setEventSend
nonpayablefunction setEventSend(bool _eventSendSet)
setMaxCap
nonpayablefunction setMaxCap(uint256 _maxCap)
setMaxLockCycles
nonpayablefunction setMaxLockCycles(uint256 _maxLockCycles)
setMinLockCycles
nonpayablefunction setMinLockCycles(uint256 _minLockCycles)
withdraw
nonpayablefunction withdraw(uint256 amount)
events
AutopilotAccTokeMigration
event AutopilotAccTokeMigration(address autopilotAccTokeContract, uint256 amount, address to)
AutopilotSystemRegistrySet
event AutopilotSystemRegistrySet(address autopilotSystemRegistry)
DestinationsSet
event DestinationsSet(address fxStateSender, address destinationOnL2)
EventSendSet
event EventSendSet(bool eventSendSet)
Initialized
event Initialized(uint8 version)
MaxCapSetEvent
event MaxCapSetEvent(uint256 maxCap)
MaxLockCyclesSetEvent
event MaxLockCyclesSetEvent(uint256 maxLockCycles)
MinLockCyclesSetEvent
event MinLockCyclesSetEvent(uint256 minLockCycles)
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)
TokeLockedEvent
event TokeLockedEvent(address indexed tokeSource, address indexed account, uint256 numCycles, uint256 indexed currentCycle, uint256 amount)
Unpaused
event Unpaused(address account)
WithdrawalEvent
event WithdrawalEvent(address indexed account, uint256 amount)
WithdrawalRequestCancelledEvent
event WithdrawalRequestCancelledEvent(address indexed account)
WithdrawalRequestedEvent
event WithdrawalRequestedEvent(address indexed account, uint256 amount)
errors
No errors.
creation bytecode
0x60a06040523480156200001157600080fd5b506200001c62000029565b3360601b608052620000eb565b600054610100900460ff1615620000965760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e9576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60805160601c61378162000111600039600081816106f0015261094901526137816000f3fe608060405234801561001057600080fd5b50600436106102d35760003560e01c806370a08231116101865780639ee679e8116100e3578063d547741f11610097578063e714a02811610071578063e714a02814610725578063e912b5ee1461072d578063f543bb0e1461074057600080fd5b8063d547741f146106d8578063d5f39488146106eb578063e66b38421461071257600080fd5b8063ac92b271116100c8578063ac92b27114610680578063b3f88129146106a7578063bb582d80146106b157600080fd5b80639ee679e814610665578063a217fddf1461067857600080fd5b806388791a791161013a5780638d17b3831161011f5780638d17b383146105c957806391d148541461061f57806395d89b411461034657600080fd5b806388791a79146105ae5780638b724ad5146105b657600080fd5b8063763265de1161016b578063763265de1461057a5780637d6eae721461058d57806380e702da146105a057600080fd5b806370a082311461055457806375ccce021461056757600080fd5b80632f2ff15d11610234578063481c6a75116101e85780635287ce12116101cd5780635287ce12146104d85780635842f88c1461053f5780635c975abb1461054957600080fd5b8063481c6a75146104a55780634b8687da146104c557600080fd5b806336568abe1161021957806336568abe146104755780633f50ea7c146104885780634392ce341461049b57600080fd5b80632f2ff15d14610453578063313ce5671461046657600080fd5b80631a1ff6c01161028b57806323548b8b1161027057806323548b8b14610413578063248a9ca31461041d5780632e1a7d4d1461044057600080fd5b80631a1ff6c0146103ad578063208120a7146103c057600080fd5b806306fdde03116102bc57806306fdde031461034657806318160ddd1461038557806319a802731461039857600080fd5b806301ffc9a7146102d85780630287a26a14610300575b600080fd5b6102eb6102e63660046133a7565b610760565b60405190151581526020015b60405180910390f35b610108546103219073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102f7565b604080518082018252600781527f616363544f4b4500000000000000000000000000000000000000000000000000602082015290516102f79190613573565b610103545b6040519081526020016102f7565b6103ab6103a6366004613402565b6107f9565b005b6103ab6103bb3660046132dd565b610822565b6103fe6103ce36600461323d565b73ffffffffffffffffffffffffffffffffffffffff16600090815260fd6020526040902080546001909101549091565b604080519283526020830191909152016102f7565b61038a6101025481565b61038a61042b366004613369565b600090815260c9602052604090206001015490565b6103ab61044e366004613369565b610c9c565b6103ab610461366004613382565b610e94565b604051601281526020016102f7565b6103ab610483366004613382565b610ebe565b6103ab61049636600461323d565b610f53565b61038a6101015481565b60fe546103219073ffffffffffffffffffffffffffffffffffffffff1681565b6103ab6104d3366004613369565b61103d565b6105246104e636600461323d565b73ffffffffffffffffffffffffffffffffffffffff16600090815260fb60209081526040808320805460019091015460fc9093529220549192909190565b604080519384526020840192909252908201526060016102f7565b61038a6101045481565b60335460ff166102eb565b61038a61056236600461323d565b6110d1565b6103ab610575366004613293565b61115f565b6103ab610588366004613369565b6114f5565b6103ab61059b36600461325a565b611536565b610105546102eb9060ff1681565b61038a61169d565b6103ab6105c4366004613369565b611745565b61010654610107546105f29173ffffffffffffffffffffffffffffffffffffffff908116911682565b6040805173ffffffffffffffffffffffffffffffffffffffff9384168152929091166020830152016102f7565b6102eb61062d366004613382565b600091825260c96020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6103ab610673366004613369565b6117e5565b61038a600081565b61038a7f6a8817efe199e6e83cb1dca777a406ebd1af6329aadb7cc3e0e957e4416682ff81565b61038a6101005481565b6103fe6106bf36600461323d565b60fd602052600090815260409020805460019091015482565b6103ab6106e6366004613382565b611a04565b6103217f000000000000000000000000000000000000000000000000000000000000000081565b6103ab610720366004613424565b611a29565b6103ab611a79565b6103ab61073b36600461332f565b611b76565b60ff546103219073ffffffffffffffffffffffffffffffffffffffff1681565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b0000000000000000000000000000000000000000000000000000000014806107f357507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b610801611c47565b610809611c9a565b610814338383611cf4565b61081e6001606555565b5050565b600054610100900460ff16158080156108425750600054600160ff909116105b8061085c5750303b15801561085c575060005460ff166001145b6108d35760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561093157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146109b65760405162461bcd60e51b815260206004820152600260248201527f6e6400000000000000000000000000000000000000000000000000000000000060448201526064016108ca565b73ffffffffffffffffffffffffffffffffffffffff8616610a195760405162461bcd60e51b815260206004820152601760248201527f494e56414c49445f4d414e414745525f4144445245535300000000000000000060448201526064016108ca565b60008511610a695760405162461bcd60e51b815260206004820152601760248201527f494e56414c49445f4d494e5f4c4f434b5f4359434c455300000000000000000060448201526064016108ca565b60008411610ab95760405162461bcd60e51b815260206004820152601760248201527f494e56414c49445f4d41585f4c4f434b5f4359434c455300000000000000000060448201526064016108ca565b60008211610b095760405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f4d41585f434150000000000000000000000000000000000060448201526064016108ca565b73ffffffffffffffffffffffffffffffffffffffff8316610b6c5760405162461bcd60e51b815260206004820152601460248201527f494e56414c49445f544f4b455f4144445245535300000000000000000000000060448201526064016108ca565b610b746120c1565b610b7c6120c1565b610b8461213e565b610b8c6121e5565b610b97600033612262565b610bc17f6a8817efe199e6e83cb1dca777a406ebd1af6329aadb7cc3e0e957e4416682ff33612262565b60fe805473ffffffffffffffffffffffffffffffffffffffff8089167fffffffffffffffffffffffff00000000000000000000000000000000000000009283161790925560ff805492861692909116919091179055610c1f8461103d565b610c2885611745565b610c31826114f5565b8015610c9457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610ca4611c47565b610cac611c9a565b60008111610cfc5760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f414d4f554e5400000000000000000000000000000000000060448201526064016108ca565b610d05336110d1565b811115610d545760405162461bcd60e51b815260206004820152601460248201527f494e53554646494349454e545f42414c414e434500000000000000000000000060448201526064016108ca565b6000610d5e61226c565b905080821115610db05760405162461bcd60e51b815260206004820152601860248201527f414d4f554e545f47545f4d41585f5749544844524157414c000000000000000060448201526064016108ca565b33600090815260fd60209081526040808320600181018054879003905560fc90925290912080548490038155610103805485900390556101048054859003905554610e0c5733600090815260fb60205260408120818155600101555b6001810154610e2c5733600090815260fd60205260408120818155600101555b60ff54610e509073ffffffffffffffffffffffffffffffffffffffff163385612342565b60405183815233907f2f174ca282119315c59efaf21147aef438581dabdeb498198ae28964373dd8bc9060200160405180910390a25050610e916001606555565b50565b600082815260c96020526040902060010154610eaf81612416565b610eb98383612420565b505050565b73ffffffffffffffffffffffffffffffffffffffff81163314610f495760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084016108ca565b61081e8282612514565b6000610f5e81612416565b73ffffffffffffffffffffffffffffffffffffffff8216610fc15760405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f41444452455353000000000000000000000000000000000060448201526064016108ca565b61010880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f77fb99a5134daafb537e1184cb02724cd54f328c0dbcedd8c90c59ff57bfb5a3906020015b60405180910390a15050565b600061104881612416565b6101005482101561109b5760405162461bcd60e51b815260206004820152601760248201527f494e56414c49445f4d41585f4c4f434b5f4359434c455300000000000000000060448201526064016108ca565b6101018290556040518281527fceeeffb72f5661684779292aa72e24e2b2f064ea6fd4a215aacb5ea25ca51a6590602001611031565b600073ffffffffffffffffffffffffffffffffffffffff82166111365760405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f41444452455353000000000000000000000000000000000060448201526064016108ca565b5073ffffffffffffffffffffffffffffffffffffffff16600090815260fc602052604090205490565b611167611c47565b61116f611c9a565b611178846125cf565b600083116111c85760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f414d4f554e5400000000000000000000000000000000000060448201526064016108ca565b600082116112185760405162461bcd60e51b815260206004820152601060248201527f494e56414c49445f4455524154494f4e0000000000000000000000000000000060448201526064016108ca565b73ffffffffffffffffffffffffffffffffffffffff811661127b5760405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f41444452455353000000000000000000000000000000000060448201526064016108ca565b6000611286336110d1565b9050808411156112d85760405162461bcd60e51b815260206004820152601460248201527f494e53554646494349454e545f42414c414e434500000000000000000000000060448201526064016108ca565b33600090815260fd60205260408120600181015490916112f882856135db565b90508087111561133a576001830180548289039081900382556101048054829003905590546113385733600090815260fd60205260408120818155600101555b505b33600090815260fc6020526040812080548992906113599084906135db565b9250508190555086610103600082825461137391906135db565b909155505033600090815260fc60205260409020546113a35733600090815260fb60205260408120818155600101555b60ff546113c79073ffffffffffffffffffffffffffffffffffffffff1689896126e7565b6040517f7628a37d000000000000000000000000000000000000000000000000000000008152600481018890526024810187905273ffffffffffffffffffffffffffffffffffffffff8681166044830152891690637628a37d90606401600060405180830381600087803b15801561143e57600080fd5b505af1158015611452573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8c81168252602082018c905289168183015290517fbe440cf0df89ad41f5bdc91af870903ef8b8056a167be22b1e52d65c2cca32bf9350908190036060019150a16114e17f5769746864726177616c20526571756573740000000000000000000000000000336114dc3361285e565b61289c565b505050506114ef6001606555565b50505050565b600061150081612416565b6101028290556040518281527f3281984bace0570a6e1b1fd25c03812b2915334684c6bf7d7fd932fbe8bc0e1790602001611031565b600061154181612416565b73ffffffffffffffffffffffffffffffffffffffff83166115a45760405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f41444452455353000000000000000000000000000000000060448201526064016108ca565b73ffffffffffffffffffffffffffffffffffffffff82166116075760405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f41444452455353000000000000000000000000000000000060448201526064016108ca565b610106805473ffffffffffffffffffffffffffffffffffffffff8581167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316811790935561010780549186169190921681179091556040805192835260208301919091527fdd38196ae61206d6b7c944929ca054465eec5bbec09f0d942bd3f5569601e4e5910160405180910390a1505050565b60fe54604080517f85790945000000000000000000000000000000000000000000000000000000008152905160009273ffffffffffffffffffffffffffffffffffffffff16916385790945916004808301926020929190829003018186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174091906133e9565b905090565b600061175081612416565b6000821180156117635750610101548211155b6117af5760405162461bcd60e51b815260206004820152601760248201527f494e56414c49445f4d494e5f4c4f434b5f4359434c455300000000000000000060448201526064016108ca565b6101008290556040518281527ffb81032d081071d016556827fc79042aaafb3ce39aa8b207d34218f8539cdb7090602001611031565b6117ed611c9a565b6000811161183d5760405162461bcd60e51b815260206004820152600e60248201527f494e56414c49445f414d4f554e5400000000000000000000000000000000000060448201526064016108ca565b611846336110d1565b8111156118955760405162461bcd60e51b815260206004820152601460248201527f494e53554646494349454e545f42414c414e434500000000000000000000000060448201526064016108ca565b600061189f612a62565b33600090815260fd60205260409020600181015461010454929350909184916118c7916135db565b6118d19190613586565b610104556001810183905560fe54604080517ff99476c9000000000000000000000000000000000000000000000000000000008152905173ffffffffffffffffffffffffffffffffffffffff9092169163f99476c991600480820192602092909190829003018186803b15801561194757600080fd5b505afa15801561195b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061197f919061334c565b1561198b57600261198e565b60015b60ff168201815560405183815233907ff51fd58769a01a016cbfd053d43d2f95471723adce22461b2947055b598a63719060200160405180910390a26119f87f5769746864726177616c20526571756573740000000000000000000000000000336114dc3361285e565b5050610e916001606555565b600082815260c96020526040902060010154611a1f81612416565b610eb98383612514565b611a31611c47565b611a39611c9a565b7f6a8817efe199e6e83cb1dca777a406ebd1af6329aadb7cc3e0e957e4416682ff611a6381612416565b611a6e828585611cf4565b50610eb96001606555565b611a81611c9a565b33600090815260fd602052604090206001810154611ae15760405162461bcd60e51b815260206004820152601e60248201527f4e4f5f50454e44494e475f5749544844524157414c5f5245515545535453000060448201526064016108ca565b80600101546101046000828254611af891906135db565b909155505033600081815260fd6020526040808220828155600101829055517f2d104dca2996c4575c56220c89bd6f0c0bae83928acefe199713a470ef807e359190a2611b697f5769746864726177616c20526571756573740000000000000000000000000000336114dc3361285e565b50611b746001606555565b565b6000611b8181612416565b6101075473ffffffffffffffffffffffffffffffffffffffff16611be75760405162461bcd60e51b815260206004820152601460248201527f44455354494e4154494f4e535f4e4f545f53455400000000000000000000000060448201526064016108ca565b61010580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168315159081179091556040519081527fe7123337c95757f19d69c6dcdd015734e22a7750c921506a2d02f487678e8aea90602001611031565b60335460ff1615611b745760405162461bcd60e51b815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016108ca565b60026065541415611ced5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016108ca565b6002606555565b73ffffffffffffffffffffffffffffffffffffffff831615801590611d2f575073ffffffffffffffffffffffffffffffffffffffff83163014155b611d7b5760405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f4143434f554e54000000000000000000000000000000000060448201526064016108ca565b60008211611dcb5760405162461bcd60e51b815260206004820152601360248201527f494e56414c49445f544f4b455f414d4f554e540000000000000000000000000060448201526064016108ca565b60ff546040517f70a08231000000000000000000000000000000000000000000000000000000008152336004820152839173ffffffffffffffffffffffffffffffffffffffff16906370a082319060240160206040518083038186803b158015611e3457600080fd5b505afa158015611e48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6c91906133e9565b1015611eba5760405162461bcd60e51b815260206004820152601960248201527f494e53554646494349454e545f544f4b455f42414c414e43450000000000000060448201526064016108ca565b8161010354611ec99190613586565b610102541015611f1b5760405162461bcd60e51b815260206004820152601060248201527f4d41585f4341505f45584345454445440000000000000000000000000000000060448201526064016108ca565b611f258382612b38565b6000611f2f61169d565b905060fe60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f99476c96040518163ffffffff1660e01b815260040160206040518083038186803b158015611f9957600080fd5b505afa158015611fad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fd1919061334c565b15611fda576001015b60ff54611fff9073ffffffffffffffffffffffffffffffffffffffff16333086612c40565b61010380548401905573ffffffffffffffffffffffffffffffffffffffff8416600081815260fc6020908152604080832080548801905560fb825291829020600181018690558481558251868152918201879052928492909133917f3c036a8b22a377ee5ff6738df5a3939854b2137f37e032634abcee2e1f6cccb6910160405180910390a46120b37f4465706f73697400000000000000000000000000000000000000000000000000866114dc8861285e565b5050505050565b6001606555565b600054610100900460ff16611b745760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ca565b600054610100900460ff166121bb5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ca565b603380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600054610100900460ff166120ba5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e6700000000000000000000000000000000000000000060648201526084016108ca565b61081e8282612420565b33600090815260fd6020908152604080832081518083019092528054825260010154918101829052906122e15760405162461bcd60e51b815260206004820152601560248201527f4e4f5f5749544844524157414c5f52455155455354000000000000000000000060448201526064016108ca565b6122e961169d565b815111156123395760405162461bcd60e51b815260206004820152601c60248201527f5749544844524157414c5f4e4f545f5945545f415641494c41424c450000000060448201526064016108ca565b60200151919050565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610eb99084907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612c9e565b610e918133612d90565b600082815260c96020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661081e57600082815260c96020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556124b63390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600082815260c96020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561081e57600082815260c96020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610108546040517f6dc5c8c00000000000000000000000000000000000000000000000000000000081527fef9fad926eba81b825236520ba5e200b52b94aa56e396acc56c8fadfafcbabf26004820181905273ffffffffffffffffffffffffffffffffffffffff848116602484015290921690636dc5c8c09060440160206040518083038186803b15801561266357600080fd5b505afa158015612677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061269b919061334c565b61081e5760405162461bcd60e51b815260206004820152601860248201527f494e56414c49445f414343544f4b455f494e5354414e4345000000000000000060448201526064016108ca565b80158061279657506040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff838116602483015284169063dd62ed3e9060440160206040518083038186803b15801561275c57600080fd5b505afa158015612770573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061279491906133e9565b155b6128085760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527f20746f206e6f6e2d7a65726f20616c6c6f77616e63650000000000000000000060648201526084016108ca565b60405173ffffffffffffffffffffffffffffffffffffffff8316602482015260448101829052610eb99084907f095ea7b30000000000000000000000000000000000000000000000000000000090606401612394565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260fd602090815260408083206001015460fc9092528220546107f391906135db565b6101055460ff1615610eb9576101065473ffffffffffffffffffffffffffffffffffffffff1661290e5760405162461bcd60e51b815260206004820152600f60248201527f414444524553535f4e4f545f534554000000000000000000000000000000000060448201526064016108ca565b6101075473ffffffffffffffffffffffffffffffffffffffff166129745760405162461bcd60e51b815260206004820152600f60248201527f414444524553535f4e4f545f534554000000000000000000000000000000000060448201526064016108ca565b604080516080808201835285825273ffffffffffffffffffffffffffffffffffffffff858116602080850191825230858701908152606095860188815287519283018b905292518416828801525183169481019490945251838301528351808403909201825260a083019384905261010654610107547fb47204770000000000000000000000000000000000000000000000000000000090955291939181169263b472047792612a2a921690859060a401613544565b600060405180830381600087803b158015612a4457600080fd5b505af1158015612a58573d6000803e3d6000fd5b5050505050505050565b6000612a6c61169d565b33600090815260fb602090815260409182902082518084019093528054808452600190910154918301919091529192509082118015612ac3575060208101518151612ab790846135db565b612ac19190613653565b155b612b345760405162461bcd60e51b8152602060048201526024808201527f494e56414c49445f4359434c455f464f525f5749544844524157414c5f52455160448201527f554553540000000000000000000000000000000000000000000000000000000060648201526084016108ca565b5090565b610100548110158015612b4e5750610101548111155b612b9a5760405162461bcd60e51b815260206004820152601360248201527f494e56414c49445f4c4f434b5f4359434c45530000000000000000000000000060448201526064016108ca565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260fb60205260409020600101541561081e5773ffffffffffffffffffffffffffffffffffffffff8216600090815260fb602052604090206001015481101561081e5760405162461bcd60e51b815260206004820181905260248201527f4c4f434b5f4c454e4754485f4d5553545f42455f4754455f4558495354494e4760448201526064016108ca565b60405173ffffffffffffffffffffffffffffffffffffffff808516602483015283166044820152606481018290526114ef9085907f23b872dd0000000000000000000000000000000000000000000000000000000090608401612394565b6000612d00826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612e309092919063ffffffff16565b805190915015610eb95780806020019051810190612d1e919061334c565b610eb95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016108ca565b600082815260c96020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661081e57612dd081612e47565b612ddb836020612e66565b604051602001612dec9291906134c3565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262461bcd60e51b82526108ca91600401613573565b6060612e3f8484600085613096565b949350505050565b60606107f373ffffffffffffffffffffffffffffffffffffffff831660145b60606000612e7583600261359e565b612e80906002613586565b67ffffffffffffffff811115612e9857612e986136ec565b6040519080825280601f01601f191660200182016040528015612ec2576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612ef957612ef96136bd565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612f5c57612f5c6136bd565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612f9884600261359e565b612fa3906001613586565b90505b6001811115613040577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110612fe457612fe46136bd565b1a60f81b828281518110612ffa57612ffa6136bd565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936130398161361e565b9050612fa6565b50831561308f5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016108ca565b9392505050565b60608247101561310e5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016108ca565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161313791906134a7565b60006040518083038185875af1925050503d8060008114613174576040519150601f19603f3d011682016040523d82523d6000602084013e613179565b606091505b509150915061318a87838387613195565b979650505050505050565b6060831561320e5782516132075773ffffffffffffffffffffffffffffffffffffffff85163b6132075760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016108ca565b5081612e3f565b612e3f83838151156132235781518083602001fd5b8060405162461bcd60e51b81526004016108ca9190613573565b60006020828403121561324f57600080fd5b813561308f8161371b565b6000806040838503121561326d57600080fd5b82356132788161371b565b915060208301356132888161371b565b809150509250929050565b600080600080608085870312156132a957600080fd5b84356132b48161371b565b9350602085013592506040850135915060608501356132d28161371b565b939692955090935050565b600080600080600060a086880312156132f557600080fd5b85356133008161371b565b94506020860135935060408601359250606086013561331e8161371b565b949793965091946080013592915050565b60006020828403121561334157600080fd5b813561308f8161373d565b60006020828403121561335e57600080fd5b815161308f8161373d565b60006020828403121561337b57600080fd5b5035919050565b6000806040838503121561339557600080fd5b8235915060208301356132888161371b565b6000602082840312156133b957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461308f57600080fd5b6000602082840312156133fb57600080fd5b5051919050565b6000806040838503121561341557600080fd5b50508035926020909101359150565b60008060006060848603121561343957600080fd5b833592506020840135915060408401356134528161371b565b809150509250925092565b600081518084526134758160208601602086016135f2565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b600082516134b98184602087016135f2565b9190910192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516134fb8160178501602088016135f2565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516135388160288401602088016135f2565b01602801949350505050565b73ffffffffffffffffffffffffffffffffffffffff83168152604060208201526000612e3f604083018461345d565b60208152600061308f602083018461345d565b600082198211156135995761359961368e565b500190565b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156135d6576135d661368e565b500290565b6000828210156135ed576135ed61368e565b500390565b60005b8381101561360d5781810151838201526020016135f5565b838111156114ef5750506000910152565b60008161362d5761362d61368e565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600082613689577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500690565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff81168114610e9157600080fd5b8015158114610e9157600080fdfea2646970667358221220e902fb34c83926f03bc09c12f5a480681454f3c2237cfd1ee87a8e799de4ec0664736f6c63430008070033