0 txs
0 calls
constructor
constructor(address _owner, address _initialAgent, address _ambassador, address _addyRegistry, uint256 _minOwnerChangeDelay, uint256 _maxOwnerChangeDelay)
functions
_ADDY_REGISTRY
viewfunction _ADDY_REGISTRY() view returns (address)
ADDY_REGISTRY
viewfunction ADDY_REGISTRY() view returns (address)
agentSettings
viewfunction agentSettings(address arg0) view returns (tuple)
ambassadorForwarder
viewfunction ambassadorForwarder() view returns (address)
apiVersion
purefunction apiVersion() pure returns (string)
canAgentAccess
viewfunction canAgentAccess(address _agent, uint256 _action, address[] _assets, uint256[] _legoIds) view returns (bool)
canMakeSubscriptionPayments
viewfunction canMakeSubscriptionPayments(address _agent) view returns (bool, bool)
canTransferToAltOwnerWallets
viewfunction canTransferToAltOwnerWallets() view returns (bool)
canTransferToRecipient
viewfunction canTransferToRecipient(address _recipient) view returns (bool)
canWalletBeAmbassador
viewfunction canWalletBeAmbassador() view returns (bool)
depositedAmounts
viewfunction depositedAmounts(address arg0) view returns (uint256)
didMigrateIn
viewfunction didMigrateIn() view returns (bool)
didMigrateOut
viewfunction didMigrateOut() view returns (bool)
didSetWallet
viewfunction didSetWallet() view returns (bool)
doesWalletHaveSameOwner
viewfunction doesWalletHaveSameOwner(address _wallet) view returns (bool)
getAgentSubscriptionStatus
viewfunction getAgentSubscriptionStatus(address _agent) view returns (tuple)
getAvailableTxAmount
viewfunction getAvailableTxAmount(address _asset, uint256 _wantedAmount, bool _shouldCheckTrialFunds, tuple _cd) view returns (uint256)
getAvailableTxAmount
viewfunction getAvailableTxAmount(address _asset, uint256 _wantedAmount, bool _shouldCheckTrialFunds) view returns (uint256)
getProceedsAddr
viewfunction getProceedsAddr() view returns (address)
getProtocolSubscriptionStatus
viewfunction getProtocolSubscriptionStatus() view returns (tuple)
hasPendingOwnerChange
viewfunction hasPendingOwnerChange() view returns (bool)
isAgentActive
viewfunction isAgentActive(address _agent) view returns (bool)
isRecipientAllowed
viewfunction isRecipientAllowed(address arg0) view returns (bool)
isVaultToken
viewfunction isVaultToken(address arg0) view returns (bool)
MAX_OWNER_CHANGE_DELAY
viewfunction MAX_OWNER_CHANGE_DELAY() view returns (uint256)
MIN_OWNER_CHANGE_DELAY
viewfunction MIN_OWNER_CHANGE_DELAY() view returns (uint256)
myAmbassador
viewfunction myAmbassador() view returns (address)
owner
viewfunction owner() view returns (address)
ownershipChangeDelay
viewfunction ownershipChangeDelay() view returns (uint256)
pendingOwner
viewfunction pendingOwner() view returns (tuple)
pendingWhitelist
viewfunction pendingWhitelist(address arg0) view returns (tuple)
protocolSub
viewfunction protocolSub() view returns (tuple)
reserveAssets
viewfunction reserveAssets(address arg0) view returns (uint256)
vaultTokenAmounts
viewfunction vaultTokenAmounts(address arg0) view returns (uint256)
wallet
viewfunction wallet() view returns (address)
addAssetForAgent
nonpayablefunction addAssetForAgent(address _agent, address _asset) returns (bool)
addLegoIdForAgent
nonpayablefunction addLegoIdForAgent(address _agent, uint256 _legoId) returns (bool)
addOrModifyAgent
nonpayablefunction addOrModifyAgent(address _agent, address[] _allowedAssets, uint256[] _allowedLegoIds, tuple _allowedActions) returns (bool)
addOrModifyAgent
nonpayablefunction addOrModifyAgent(address _agent, address[] _allowedAssets, uint256[] _allowedLegoIds) returns (bool)
addOrModifyAgent
nonpayablefunction addOrModifyAgent(address _agent, address[] _allowedAssets) returns (bool)
addOrModifyAgent
nonpayablefunction addOrModifyAgent(address _agent) returns (bool)
addWhitelistAddr
nonpayablefunction addWhitelistAddr(address _addr)
cancelOwnershipChange
nonpayablefunction cancelOwnershipChange()
cancelPendingWhitelistAddr
nonpayablefunction cancelPendingWhitelistAddr(address _addr)
changeOwnership
nonpayablefunction changeOwnership(address _newOwner)
confirmOwnershipChange
nonpayablefunction confirmOwnershipChange()
confirmWhitelistAddr
nonpayablefunction confirmWhitelistAddr(address _addr)
disableAgent
nonpayablefunction disableAgent(address _agent) returns (bool)
finishMigrationIn
nonpayablefunction finishMigrationIn(address[] _whitelistToMigrate, address[] _assetsMigrated, address[] _vaultTokensMigrated) returns (bool)
handleSubscriptionsAndPermissions
nonpayablefunction handleSubscriptionsAndPermissions(address _agent, uint256 _action, address[] _assets, uint256[] _legoIds, tuple _cd) returns (tuple, tuple)
modifyAllowedActions
nonpayablefunction modifyAllowedActions(address _agent, tuple _allowedActions) returns (bool)
modifyAllowedActions
nonpayablefunction modifyAllowedActions(address _agent) returns (bool)
recoverFunds
nonpayablefunction recoverFunds(address _asset) returns (bool)
removeWhitelistAddr
nonpayablefunction removeWhitelistAddr(address _addr)
setAmbassadorForwarder
nonpayablefunction setAmbassadorForwarder(address _addr) returns (bool)
setCanTransferToAltOwnerWallets
nonpayablefunction setCanTransferToAltOwnerWallets(bool _canTransfer) returns (bool)
setCanWalletBeAmbassador
nonpayablefunction setCanWalletBeAmbassador(bool _canWalletBeAmbassador) returns (bool)
setManyReserveAssets
nonpayablefunction setManyReserveAssets(tuple[] _assets) returns (bool)
setOwnershipChangeDelay
nonpayablefunction setOwnershipChangeDelay(uint256 _numBlocks)
setReserveAsset
nonpayablefunction setReserveAsset(address _asset, uint256 _amount) returns (bool)
setWallet
nonpayablefunction setWallet(address _wallet) returns (bool)
startMigrationOut
nonpayablefunction startMigrationOut(address _newWallet, address[] _assetsToMigrate, address[] _whitelistToMigrate) returns (bool)
startMigrationOut
nonpayablefunction startMigrationOut(address _newWallet, address[] _assetsToMigrate) returns (bool)
startMigrationOut
nonpayablefunction startMigrationOut(address _newWallet) returns (bool)
updateYieldTrackingOnDeposit
nonpayablefunction updateYieldTrackingOnDeposit(address _asset, address _vaultToken, uint256 _vaultTokenAmountReceived, uint256 _assetAmountDeposited, address _legoRegistry)
updateYieldTrackingOnEntry
nonpayablefunction updateYieldTrackingOnEntry(address _asset, uint256 _amount, address _legoRegistry)
updateYieldTrackingOnExit
nonpayablefunction updateYieldTrackingOnExit(address _asset, address _legoRegistry)
updateYieldTrackingOnSwap
nonpayablefunction updateYieldTrackingOnSwap(address _tokenIn, address _tokenOut, uint256 _tokenOutAmount, address _legoRegistry)
updateYieldTrackingOnWithdrawal
nonpayablefunction updateYieldTrackingOnWithdrawal(address _vaultToken, uint256 _vaultTokenAmountBurned, address _asset, uint256 _assetAmountReceived, address _legoRegistry) returns (uint256)
events
AgentAdded
event AgentAdded(address indexed agent, uint256 allowedAssets, uint256 allowedLegoIds)
AgentDisabled
event AgentDisabled(address indexed agent, uint256 prevAllowedAssets, uint256 prevAllowedLegoIds)
AgentModified
event AgentModified(address indexed agent, uint256 allowedAssets, uint256 allowedLegoIds)
AllowedActionsModified
event AllowedActionsModified(address indexed agent, bool canDeposit, bool canWithdraw, bool canRebalance, bool canTransfer, bool canSwap, bool canConvert, bool canAddLiq, bool canRemoveLiq, bool canClaimRewards, bool canBorrow, bool canRepay)
AmbassadorForwarderSet
event AmbassadorForwarderSet(address indexed addr)
AssetAddedToAgent
event AssetAddedToAgent(address indexed agent, address indexed asset)
CanTransferToAltOwnerWalletsSet
event CanTransferToAltOwnerWalletsSet(bool canTransfer)
CanWalletBeAmbassadorSet
event CanWalletBeAmbassadorSet(bool canWalletBeAmbassador)
FundsRecovered
event FundsRecovered(address indexed asset, address indexed recipient, uint256 balance)
LegoIdAddedToAgent
event LegoIdAddedToAgent(address indexed agent, uint256 indexed legoId)
OwnershipChangeCancelled
event OwnershipChangeCancelled(address indexed cancelledOwner, address indexed cancelledBy, uint256 initiatedBlock, uint256 confirmBlock)
OwnershipChangeConfirmed
event OwnershipChangeConfirmed(address indexed prevOwner, address indexed newOwner, uint256 initiatedBlock, uint256 confirmBlock)
OwnershipChangeDelaySet
event OwnershipChangeDelaySet(uint256 delayBlocks)
OwnershipChangeInitiated
event OwnershipChangeInitiated(address indexed prevOwner, address indexed newOwner, uint256 confirmBlock)
ReserveAssetSet
event ReserveAssetSet(address indexed asset, uint256 amount)
UserWalletFinishMigration
event UserWalletFinishMigration(address indexed oldWallet, uint256 numWhitelistMigrated, uint256 numVaultTokensMigrated, uint256 numAssetsMigrated)
UserWalletStartMigration
event UserWalletStartMigration(address indexed newWallet, uint256 numAssetsToMigrate, uint256 numWhitelistToMigrate)
WhitelistAddrCancelled
event WhitelistAddrCancelled(address indexed addr, uint256 initiatedBlock, uint256 confirmBlock, address indexed cancelledBy)
WhitelistAddrConfirmed
event WhitelistAddrConfirmed(address indexed addr, uint256 initiatedBlock, uint256 confirmBlock)
WhitelistAddrPending
event WhitelistAddrPending(address indexed addr, uint256 confirmBlock)
WhitelistAddrRemoved
event WhitelistAddrRemoved(address indexed addr)
WhitelistAddrSetViaMigration
event WhitelistAddrSetViaMigration(address indexed addr)
errors
No errors.
creation bytecode
0x6146eb51503461037c576020614a555f395f518060a01c61037c5760e0526020614a755f395f518060a01c61037c57610100526020614a955f395f518060a01c61037c57610120526020614ab55f395f518060a01c61037c5761014052610140511561006f5760e0511515610071565b5f5b1561037c5760e051610100511461037c5760e051604052610140516060526040614ad560803961009f610335565b610140516146eb52610140516347be091a6101805260036101a0526020610180602461019c845afa6100d3573d5f5f3e3d5ffd5b3d602081183d602010021880610180016101a01161037c57610180518060a01c61037c576101c052506101c090505161016052610100511561025b5761016051631b90b1de6102005261010051610220526080610200602461021c845afa61013d573d5f5f3e3d5ffd5b3d608081183d608010021880610200016102801161037c5780610200016102801161037c57610200518060a01c61037c576102a05260606102206102c05e506102a090506080816101805e505f610200526101a051156101af57436101c05180820182811061037c5790509050610200525b600a610100516020525f5260405f20600181554360018201556102005160028201555f60038201555f601d820155603281015f81555f60018201555f60028201555f60038201555f60048201555f60058201555f60068201555f60078201555f60088201555f60098201555f600a8201555f600b8201555050610100517fd509b07291b1e11b3d49b8540ac8dedee2c978d1446fe2a4f3352076c33f02ba604036610220376040610220a25b6040366101803743610180526101605163c67c8e0f610240526080610240600461025c845afa61028d573d5f5f3e3d5ffd5b3d608081183d608010021880610240016102c01161037c5780610240016102c01161037c57610240518060a01c61037c576102e05260606102606103005e506102e090506080816101c05e506101e051156102fa57436102005180820182811061037c57905090506101a0525b610180516007556101a0516008556001600e55610120511561031e57610120516010555b6001600d5561468b6103806100003961470b610000f35b60405115610347576060511515610349565b5f5b1561037c576040515f556060516146cb5260a051608051101561037c5760805161468b5260a0516146ab52608051600455565b5f80fd5f3560e01c60056005600983060261443601601b395f5160088160ff16838360181c0260181c0660031b8260081c61ffff1601601839505f51818160201c14600336111615613098578061fffe16361034826001160217614432578060101c61ffff16565b6020610070604061309c565b6040f35b6004358060a01c614432576040525f5460605260605133186144325760405180156100a4576060518114156100a6565b5f5b90501561443257436004548082018281106144325790509050608052604051600155436002556080516003556040516060517fe778cf9d8dda039d296584da1070e66de735b9bd217586ab4f7efdbd0dd7d01260805160a052602060a0a3005b60015460405260025460605260035460805260405115614432576080511561013357608051431015610135565b5f5b15614432576040513318614432575f5460a0526040515f555f6001555f6002555f60035560405160a0517fc7e2076e8d63cd80bc7e4378433436f0ecef8eb894ccc5b25cfe61c4bf1934d86040606060c05e604060c0a3005b60206146cb5f395f516347be091a6060526001608052602060606024607c845afa6101bb573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011614432576060518060a01c6144325760a0525060a09050516040525f5433186101f7576001610248565b604051630fd8944c60605233608052602060606024607c845afa61021d573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011614432576060518060011c6144325760a0525060a09050515b156144325760015460605260025460805260035460a05260a05115614432575f6001555f6002555f600355336060517f7dbc56a45ccaf8b9a2ba90c9afad9eb01cc981dd248eca461e71e273382d69356040608060c05e604060c0a3005b5f54331861443257602061468b5f395f5160043510156102c6575f6102d5565b60206146ab5f395f5160043511155b15614432576004356004557f354dc4d218245e86004c594acf7e14aee3f21b49fd39e380ba3cfd78db6a253660043560405260206040a1005b5f5460405260206040f35b60015460405260025460605260035460805260606040f35b60045460405260206040f35b602061468b60403960206040f35b60206146ab60403960206040f35b60206146cb60403960206040f35b6004358060a01c6144325760405260065461443257604051156144325760206146eb5f395f516347be091a6060526001608052602060606024607c845afa6103b1573d5f5f3e3d5ffd5b3d602081183d602010021880606001608011614432576060518060a01c6144325760a0525060a09050513318614432576040516005556001600655600160605260206060f35b60208060805260056040527f302e302e3300000000000000000000000000000000000000000000000000000060605260408160800160208251018083835e508051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f35b6004358060a01c61443257604052600a6040516020525f5260405f205460605260206060f35b6004358060a01c614432576110005260243580600b1c614432576110205260443560040160198135116144325780355f81601981116144325780156104ee57905b8060051b6020850101358060a01c614432578160051b61106001526001018181186104c8575b505080611040525050606435600401601481351161443257803560208160051b018083611380375050506020600a611000516020525f5260405f205f603e905b808301548160051b6101e0015260010181811861052e57505050611020516109a0526110405160208160051b01806110406109c05e50506113805160208160051b0180611380610d005e50506105856116206131c1565b611620f35b6004358060a01c614432576102a0526105a4610400613374565b610400610140816102c05e5061018036610400376103805163aae7c49b610580526102e0516105a0526102a0516105c052600a6102a0516020525f5260405f20600281019050546105e0525f610600526103a0516106205261018061058060a461059c845afa610616573d5f5f3e3d5ffd5b3d61018081183d6101801002188061058001610700116144325780610580016106401161443257610580518060a01c61443257610720526105a0518060a01c614432576107405260606105c06107605e610620518060011c614432576107c05280610580016107001161443257610640518060a01c614432576107e052610660518060a01c614432576108005260606106806108205e6106e0518060011c6144325761088052506107209050610180816108a05e5060c06108a06104005e60c06109606104c05e60c06104c0f35b6106ef6103e0613374565b6103e0610140816102a05e50610180366103e0376103605163aae7c49b610560526102c051610580526040366105a0376008546105e052610380516106005261018061056060a461057c845afa610748573d5f5f3e3d5ffd5b3d61018081183d61018010021880610560016106e0116144325780610560016106201161443257610560518060a01c6144325761070052610580518060a01c614432576107205260606105a06107405e610600518060011c614432576107a05280610560016106e01161443257610620518060a01c614432576107c052610640518060a01c614432576107e05260606106606108005e6106c0518060011c6144325761086052506107009050610180816108805e5060c06108806103e05e60c06109406104a05e60c06103e0f35b6004358060a01c614432576103e052610830610540613374565b610540610140816104005e5061018036610540376104c05163aae7c49b6106c052610420516106e0526103e05161070052600a6103e0516020525f5260405f206002810190505461072052600854610740526104e051610760526101806106c060a46106dc845afa6108a4573d5f5f3e3d5ffd5b3d61018081183d610180100218806106c0016108401161443257806106c00161078011614432576106c0518060a01c61443257610860526106e0518060a01c614432576108805260606107006108a05e610760518060011c6144325761090052806106c0016108401161443257610780518060a01c61443257610920526107a0518060a01c614432576109405260606107c06109605e610820518060011c614432576109c052506108609050610180816109e05e5060c06109e06105405e60c0610aa06106005e604060406105606101405e60406106206101805e6101406104006101c05e6109946106c0613651565b6106c0f35b6004358060a01c614432576110005260243580600b1c614432576110205260443560040160198135116144325780355f8160198111614432578015610a0057905b8060051b6020850101358060a01c614432578160051b61106001526001018181186109da575b505080611040525050606435600401601481351161443257803560208160051b018083611380375050506084358060a01c614432576116205260a4358060a01c614432576116405260c4358060a01c614432576116605260e4358060a01c6144325761168052610104358060a01c614432576116a052610124358060a01c614432576116c052610144358060a01c614432576116e052610164358060a01c6144325761170052610184358060a01c61443257611720526101a435611740526005543318614432576107c036611760376110005115610b5757600a611000516020525f5260405f205f603e905b808301548160051b6117600152600101818118610aec575050506107c06117606101e05e611020516109a0526110405160208160051b01806110406109c05e50506113805160208160051b0180611380610d005e5050610b4d611f206131c1565b611f205115614432575b600754611f2052600854611f405261018036611f60376116e05163aae7c49b6120e052611640516121005261100051612120526117a05161214052611f40516121605261170051612180526101806120e060a46120fc845afa610bbc573d5f5f3e3d5ffd5b3d61018081183d610180100218806120e0016122601161443257806120e0016121a011614432576120e0518060a01c6144325761228052612100518060a01c614432576122a05260606121206122c05e612180518060011c6144325761232052806120e00161226011614432576121a0518060a01c61443257612340526121c0518060a01c614432576123605260606121e06123805e612240518060011c614432576123e052506122809050610180816124005e5060c0612400611f605e60c06124c06120205e6040366120e0376040611f806101405e60406120406101805e6101406116206101c05e610cb1612120613651565b6121206040816121605e5060406121606120e05e6120e05115614432576121005115614432576120005115610cf757611fe051611f4052611f2051600755611f40516008555b6120c05115610d37576120a0516117a052600a611000516020525f5260405f205f603e905b8060051b611760015181840155600101818118610d1c575050505b60c0611f606121205e60c06120206121e05e610180612120f35b610140366102e037610df2565b6064358060a01c614432576102e0526084358060a01c614432576103005260a4358060a01c614432576103205260c4358060a01c614432576103405260e4358060a01c6144325761036052610104358060a01c6144325761038052610124358060a01c614432576103a052610144358060a01c614432576103c052610164358060a01c614432576103e05261018435610400525b6004358060a01c614432576102a0526044358060011c614432576102c0526101406102e06104205e61044051610e4457610e2d610560613374565b610560610140816106a05e506101406106a06104205e5b6102a0516370a0823161058052610440516105a0526020610580602461059c845afa610e72573d5f5f3e3d5ffd5b60203d1061443257610580905051610560526102c051610e92575f610e9d565b610520516102a05118155b15610f14576104c051635f03f86d6105a052610440516105c0526102a0516105e05260206105a060446105bc845afa610ed8573d5f5f3e3d5ffd5b60203d10614432576105a0905051610580526102a05160405261044051606052608061052060805e610f0b6105a06135a0565b6105a051610560525b60096102a0516020525f5260405f2054610580526105805115610f5a57610580516105605111156144325761056051610580518082038281116144325790509050610560525b6024356105605180828118828410021890509050610560526105605115614432576020610560f35b6004358060a01c614432576102a0526024358060a01c614432576102c0526084358060a01c614432576102e05260055433186144325760136102a0516020525f5260405f205415610fe5576102a0516101c0526102e0516101e052610fe561396f565b6102c051604052604060446060376102e05160a052611002613aea565b005b6004358060a01c61443257610320526044358060a01c61443257610340526084358060a01c61443257610360526005543318614432576013610340516020525f5260405f20541561106b57610340516040526064356060526103605160805261106b61380e565b5f610380526013610320516020525f5260405f2054156110b757610320516101c0526024356101e0526064356102005261036051610220526110ae6103a0613bd7565b6103a051610380525b6020610380f35b6004358060a01c614432576102a0526024358060a01c614432576102c0526064358060a01c614432576102e05260055433186144325760136102a0516020525f5260405f205415611121576102a0516101c0526102e0516101e05261112161396f565b60136102c0516020525f5260405f205415611152576102c0516040526044356060526102e05160805261115261380e565b005b6004358060a01c614432576101c0526044358060a01c614432576101e05260055433186144325760136101c0516020525f5260405f2054156111ac576101c0516040526024356060526101e0516080526111ac61380e565b005b6004358060a01c614432576102a0526024358060a01c614432576102c05260055433186144325760136102a0516020525f5260405f2054156111fb5760406102a06101c05e6111fb61396f565b005b5f6102c0525f6107e05261130d565b60243560040160288135116144325780355f816028811161443257801561125557905b8060051b6020850101358060a01c614432578160051b6102e0015260010181811861122f575b5050806102c05250505f6107e05261130d565b60243560040160288135116144325780355f81602881116144325780156112b157905b8060051b6020850101358060a01c614432578160051b6102e0015260010181811861128b575b5050806102c052505060443560040160148135116144325780355f816014811161443257801561130357905b8060051b6020850101358060a01c614432578160051b61080001526001018181186112dd575b5050806107e05250505b6004358060a01c614432576102a052611327610bc0613374565b610bc061014081610a805e50610a8051331861443257601254614432576102a05163d34ddc05610be0526020610be06004610bfc845afa61136a573d5f5f3e3d5ffd5b3d602081183d602010021880610be001610c001161443257610be0518060a01c61443257610c205250610c20905051610bc0526102a051604052610bc051606052610b00516080526113ba613db5565b5f6107e051601481116144325780156113fc57905b8060051b6108000151610be052600b610be0516020525f5260405f205415614432576001018181186113cf575b5050610aa05163e0bfdbeb610be0526020610be06004610bfc5f855af1611425573d5f5f3e3d5ffd5b3d602081183d602010021880610be001610c001161443257610be0518060011c61443257610c205250610c205050610aa05163ed98efff610be05260606102a051610c005280610c205280610c00015f6102c0518083528060051b5f82602881116144325780156114b057905b8060051b6102e001518160051b602088010152600101818118611492575b5050820160200191505090508101905080610c405280610c00015f6107e0518083528060051b5f826014811161443257801561150657905b8060051b61080001518160051b6020880101526001018181186114e8575b505082016020019150509050810150506020610be0610824610bfc5f855af1611531573d5f5f3e3d5ffd5b3d602081183d602010021880610be001610c001161443257610be0518060011c614432576114205250611420905051156144325760016012556102a0517f92892b7145778514e1d0ff8cb0a19a91482705423b135a04bfd4dca1293d173b6102c051610be0526107e051610c00526040610be0a26001610be0526020610be0f35b60043560040160148135116144325780355f81601481116144325780156115fb57905b8060051b6020850101358060a01c614432578160051b6102c001526001018181186115d5575b5050806102a052505060243560040160288135116144325780355f816028811161443257801561164d57905b8060051b6020850101358060a01c614432578160051b6105600152600101818118611627575b50508061054052505060443560040160288135116144325780355f816028811161443257801561169f57905b8060051b6020850101358060a01c614432578160051b610a800152600101818118611679575b505080610a605250506116b36110c0613374565b6110c061014081610f805e5060115461443257336110c0526110c05163d34ddc05611100526020611100600461111c845afa6116f1573d5f5f3e3d5ffd5b3d602081183d602010021880611100016111201161443257611100518060a01c6144325761114052506111409050516110e05260406110c060405e6110005160805261173b613db5565b6102a051156117f1575f6102a051601481116144325780156117ee57905b8060051b6102c00151611100526110e051638400c3076111205261110051611140526020611120602461113c845afa611794573d5f5f3e3d5ffd5b3d602081183d602010021880611120016111401161443257611120518060011c6144325761116052506111609050511561443257611100516040526117da611120613f16565b611120511561443257600101818118611759575b50505b610a6051156118f8575f610a6051602881116144325780156118f557905b8060051b610a8001516111005260016013611100516020525f5260405f20556014611100516020525f5260405f2080546110e05163deb726ee6111205261110051611140526020611120602461113c845afa61186d573d5f5f3e3d5ffd5b60203d106144325761112090505180820182811061443257905090508155506015611100516020525f5260405f2080546110e05163d4b739726111205261110051611140526020611120602461113c845afa6118cb573d5f5f3e3d5ffd5b60203d1061443257611120905051808201828110614432579050905081555060010181811861180f575b50505b60016011556110c0517fb793e9fa7f1d9ab6c1abb4b16cdca1fad7115cfff96e617352d460c8e5595aa66102a05161110052610a60516111205261054051611140526060611100a26001611100526020611100f35b5f610ce0525f61102052610180366112c037611b77565b60243560040160198135116144325780355f81601981116144325780156119ad57905b8060051b6020850101358060a01c614432578160051b610d000152600101818118611987575b505080610ce05250505f61102052610180366112c037611b77565b60243560040160198135116144325780355f8160198111614432578015611a1157905b8060051b6020850101358060a01c614432578160051b610d0001526001018181186119eb575b505080610ce0525050604435600401601481351161443257803560208160051b01808361102037505050610180366112c037611b77565b60243560040160198135116144325780355f8160198111614432578015611a9157905b8060051b6020850101358060a01c614432578160051b610d000152600101818118611a6b575b505080610ce0525050604435600401601481351161443257803560208160051b018083611020375050506064358060011c614432576112c0526084358060011c614432576112e05260a4358060011c614432576113005260c4358060011c614432576113205260e4358060011c6144325761134052610104358060011c6144325761136052610124358060011c6144325761138052610144358060011c614432576113a052610164358060011c614432576113c052610184358060011c614432576113e0526101a4358060011c61443257611400526101c4358060011c61443257611420525b6004358060a01c61443257610cc0525f5c6001146144325760015f5d5f54611440526114405133186144325761144051610cc0511461443257610cc0511561443257600a610cc0516020525f5260405f205f603e905b808301548160051b6114600152600101818118611bcd575050506001611460526101806112c0611aa05e6101806112c060405e611c0b611c20613f56565b611c2051611aa052610ce05160208160051b0180610ce060405e50506110205160208160051b01806110206103805e5050611c47611c20613fa6565b611c206105e0816122005e506122005160208160051b01806122006114c05e50506125405160208160051b01806125406118005e505060206146eb5f395f516347be091a611c40526003611c60526020611c406024611c5c845afa611cae573d5f5f3e3d5ffd5b3d602081183d602010021880611c4001611c601161443257611c40518060a01c61443257611c805250611c80905051611c2052611c2051631b90b1de611cc052610cc051611ce0526080611cc06024611cdc845afa611d0f573d5f5f3e3d5ffd5b3d608081183d608010021880611cc001611d40116144325780611cc001611d401161443257611cc0518060a01c61443257611d60526060611ce0611d805e50611d609050608081611c405e506114805115611cc052611cc051611da557611c605115611dcb576114a05161148051611c80518082018281106144325790509050808281188284110218905090506114a052611dcb565b4361148052611c605115611dcb5743611c805180820182811061443257905090506114a0525b600a610cc0516020525f5260405f205f603e905b8060051b611460015181840155600101818118611ddf57505050611cc051611e4157610cc0517f737a34d86d81f59869f0f78675c3874eda4f5106ee1ceeaf51878867eb7826156114c051611ce05261180051611d00526040611ce0a2611e7d565b610cc0517fd509b07291b1e11b3d49b8540ac8dedee2c978d1446fe2a4f3352076c33f02ba6114c051611ce05261180051611d00526040611ce0a25b6001611ce0526020611ce05f5f5df35b6004358060a01c614432576040525f5c6001146144325760015f5d5f54331861443257600a6040516020525f5260405f205f603e905b808301548160051b60600152600101818118611ec35750505060605115614432575f606052600a6040516020525f5260405f205f603e905b8060051b6060015181840155600101818118611efb575050506040517f5ba71321302b1b315da82f42a91c0a1ea89c682b9e58e02c59dab8d39fd22c2b60c0516108205261040051610840526040610820a260016108205260206108205f5f5df35b6004358060a01c614432576040525f5c6001146144325760015f5d5f54331861443257600a6040516020525f5260405f205f603e905b808301548160051b60600152600101818118611f9357505050606051156144325760206146eb5f395f516347be091a610840526002610860526020610840602461085c845afa611fe5573d5f5f3e3d5ffd5b3d602081183d602010021880610840016108601161443257610840518060a01c61443257610880525061088090505161082052610820516372cb00dd61084052602435610860526020610840602461085c845afa612045573d5f5f3e3d5ffd5b3d602081183d602010021880610840016108601161443257610840518060011c61443257610880525061088090505115614432576024356001610840525f61040051601481116144325780156120bb57905b8060051b610420015183186120b0575f610840526120bb565b600101818118612097575b505061084051905015614432576104005160138111614432576024358160051b6104200152600181016104005250600a6040516020525f5260405f205f603e905b8060051b60600151818401556001018181186120fc575050506024356040517fd80ac14f1b2947e2dad9afee6a2d2da768a64c54654bcb1b2425ee974747af5d5f610840a360016108405260206108405f5f5df35b6004358060a01c614432576040526024358060a01c614432576060525f5c6001146144325760015f5d5f54331861443257600a6040516020525f5260405f205f603e905b808301548160051b6080015260010181811861219557505050608051156144325760605115614432576060516001610840525f60e051601981116144325780156121ff57905b8060051b610100015183186121f4575f610840526121ff565b6001018181186121db575b5050610840519050156144325760e05160188111614432576060518160051b61010001526001810160e05250600a6040516020525f5260405f205f603e905b8060051b608001518184015560010181811861223e575050506060516040517f9e5d9c232529f2c765e20df109e7ea50174184ebd739d5efb776fe67f132dad25f610840a360016108405260206108405f5f5df35b610180366101e03761235a565b6024358060011c614432576101e0526044358060011c61443257610200526064358060011c61443257610220526084358060011c614432576102405260a4358060011c614432576102605260c4358060011c614432576102805260e4358060011c614432576102a052610104358060011c614432576102c052610124358060011c614432576102e052610144358060011c6144325761030052610164358060011c6144325761032052610184358060011c61443257610340525b6004358060a01c614432576101c0525f5c6001146144325760015f5d5f54331861443257600a6101c0516020525f5260405f205f603e905b808301548160051b6103600152600101818118612392575050506103605115614432576101806101e06109a05e6101806101e060405e6123d3610b20613f56565b610b20516109a052600a6101c0516020525f5260405f205f603e905b8060051b6103600151818401556001018181186123ef575050506101c0517fb4bc28ecbd49f1920335eda78820bc787a4eb29a1d9d61b1a3392b3af6601c37610160610200610b205e610160610b20a26001610b20526020610b205f5f5df35b6004358060a01c614432576101e052600b6101e0516020525f5260405f2054156124835760016102005260206102006124d5565b61248e61020061309c565b61020051156124a6575f6102205260206102206124d5565b600d54156124ca5760206101e0516040526124c2610200614268565b6102006124d5565b5f6102005260206102005bf35b6004358060a01c614432576101e05260206101e0516040526124fa610200614268565b610200f35b6004358060011c614432576040525f54331861443257604051600d541861252d575f60605260206060612569565b604051600d557fb4294fb6fe6fcb9c2bf5dd2b3e7728a44463da09385aafa6c4a4e37183caae4260405160605260206060a16001606052602060605bf35b6004358060a01c614432576040525f5c6001146144325760015f5d5f54606052606051331861443257604051156144325760605160405114614432573060405114614432576005546040511461443257600b6040516020525f5260405f205461443257600c6040516020525f5260405f205461443257436004548082018281106144325790509050608052600c6040516020525f5260405f204381556080516001820155506040517f77b6b70218aeccc7a1e281d3c13b41526288ce5437861ef664050e4ce5c6c40660805160a052602060a0a25f5f5d005b6004358060a01c614432576040525f5c6001146144325760015f5d5f54331861443257600c6040516020525f5260405f20805460605260018101546080525060605115614432576080511561269e576080514310156126a0565b5f5b1561443257600c6040516020525f5260405f205f81555f6001820155506001600b6040516020525f5260405f20556040517f83dbbed6e575b59d0171da64b33631e40beb15ba9fbb77f1f61c5f765d99e9ed6040606060a05e604060a0a25f5f5d005b6004358060a01c614432576040525f5c6001146144325760015f5d60206146eb5f395f516347be091a608052600160a052602060806024609c845afa61274b573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614432576080518060a01c6144325760c0525060c09050516060525f5433186127875760016127d8565b606051630fd8944c6080523360a052602060806024609c845afa6127ad573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614432576080518060011c6144325760c0525060c09050515b1561443257600c6040516020525f5260405f208054608052600181015460a052506080511561443257600c6040516020525f5260405f205f81555f600182015550336040517ff1395608d2daf1fa5e3cff501582dd5999faf03554c8b1ae29dc3c08858cfc3b6040608060c05e604060c0a35f5f5d005b6004358060a01c614432576040525f5c6001146144325760015f5d5f54331861443257600b6040516020525f5260405f205415614432575f600b6040516020525f5260405f20556040517f93dedc9d3ccb94f6640c3d04dbb92e83efdc1a2c94d946514fea89c8cdf08caf5f6060a25f5f5d005b6004358060a01c614432576040525f5c6001146144325760015f5d5f54331861443257604051156144325760243560096040516020525f5260405f20556040517f8b4f92c7ed41c612bc5aa638bfeb28806086bb19dcdbf61e89e50ea4d6dd0c2f60243560605260206060a26001606052602060605f5f5df35b60043560040160198135116144325780355f816019811161443257801561299357905b8060061b60208501018160061b60600181358060a01c614432578152602082013560208201525050600101818118612960575b50508060405250505f5c6001146144325760015f5d5f5433186144325760405115614432575f60405160198111614432578015612a6457905b806106a0526106a0516040518110156144325760061b606001516106c0526106a0516040518110156144325760061b606001602081019050516106e0526106c05115614432576106e05160096106c0516020525f5260405f20556106c0517f8b4f92c7ed41c612bc5aa638bfeb28806086bb19dcdbf61e89e50ea4d6dd0c2f6106e051610700526020610700a26001018181186129cc575b505060016106a05260206106a05f5f5df35b600e54612a8a575f60405260206040612aac565b600f5460405260405115612aa15760206040612aac565b600554606052602060605bf35b6004358060a01c614432576040525f5c6001146144325760015f5d5f54331861443257604051600f5418612ae3576001612aec565b60055460405118155b15612afe575f60605260206060612c53565b60206146eb5f395f516347be091a608052600160a052602060806024609c845afa612b2b573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614432576080518060a01c6144325760c0525060c0905051606052604051630a21fe0f608052602060806004609c845afa612b7a573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614432576080518060011c6144325760c0525060c0905051612baf576001612c07565b6060516342af624e60e05260405161010052602060e0602460fc845afa612bd8573d5f5f3e3d5ffd5b3d602081183d60201002188060e001610100116144325760e0518060011c614432576101205250610120905051155b15612c1b575f610140526020610140612c53565b604051600f556040517f24af0fda873b860af861edba5626513bc5808f5a0e50472b4e03b594afe743de5f6080a26001608052602060805b5f5f5df35b6004358060011c614432576040525f5c6001146144325760015f5d5f54331861443257604051600e5418612c93575f60605260206060612ccf565b604051600e557f5d533c6280458e763066e963f197ef172580f99156c3f101d043aff4ce1de96860405160605260206060a16001606052602060605b5f5f5df35b6004358060a01c614432576040526040516370a082316080523060a052602060806024609c845afa612d08573d5f5f3e3d5ffd5b60203d10614432576080905051606052600554608052608051612d2c576001612d31565b604051155b612d3e5760605115612d41565b60015b15612d53575f60c052602060c0612e07565b60405163a9059cbb60a05260805160c05260605160e052602060a0604460bc5f855af1612d82573d5f5f3e3d5ffd5b3d612d9957803b1561443257600161010052612dc0565b3d602081183d60201002188060a00160c0116144325760a0518060011c6144325761010052505b61010090505115614432576080516040517f13e06184555481b6d2cb327155e8d2e1d0b1f0252a7fe6621e32cf998814883560605160a052602060a0a3600160a052602060a05bf35b60055460405260206040f35b60065460405260206040f35b60075460405260085460605260406040f35b6004358060a01c6144325760405260096040516020525f5260405f205460605260206060f35b6004358060a01c61443257604052602080606052600a6040516020525f5260405f2081606001610220825482526001830154602083015260028301546040830152806060830152600383018183015f82548083528060051b5f8260198111614432578015612edf57905b806001880101548160051b602088010152600101818118612ec3575b505082016020019150509050905081019050806080830152601d83018183015f82548083528060051b5f8260148111614432578015612f3657905b806001880101548160051b602088010152600101818118612f1a575b5050820160200191505090509050810190506032830160a083015f600c905b808401548160051b840152600101818118612f55575050505090509050810190506060f35b6004358060a01c61443257604052600b6040516020525f5260405f205460605260206060f35b6004358060a01c61443257604052600c6040516020525f5260405f20805460605260018101546080525060406060f35b600d5460405260206040f35b600e5460405260206040f35b600f5460405260206040f35b60105460405260206040f35b60115460405260206040f35b60125460405260206040f35b6004358060a01c6144325760405260136040516020525f5260405f205460605260206060f35b6004358060a01c6144325760405260146040516020525f5260405f205460605260206060f35b6004358060a01c6144325760405260156040516020525f5260405f205460605260206060f35b60206146eb60403960206040f35b5f5ffd5b6003541515815250565b6060516130b45760016130b9565b604051155b156130c85760018152506131bf565b6001604051186130dd576080518152506131bf565b6002604051186130f25760a0518152506131bf565b6004604051186131075760c0518152506131bf565b60086040511861311c5760e0518152506131bf565b60106040511861313257610100518152506131bf565b60206040511861314857610120518152506131bf565b60406040511861315e57610140518152506131bf565b60806040511861317457610160518152506131bf565b6101006040511861318b57610180518152506131bf565b610200604051186131a2576101a0518152506131bf565b610400604051186131b9576101c0518152506131bf565b60018152505b565b6101e0516131d2575f815250613372565b6109a05160405261018061082060605e6131ed610fa06130a6565b610fa0516131fe575f815250613372565b61024051156132b5575f6109c051601981116144325780156132b257905b80610fa052610fa0516109c0518110156144325760051b6109e00151610fc052610fc0511561329557610fc0516001610fe0525f610240516019811161443257801561328857905b8060051b6102600151831861327d575f610fe052613288565b600101818118613264575b5050610fe0519050613297565b5f5b156132a7575f8352505050613372565b60010181811861321c575b50505b610580511561336c575f610d00516014811161443257801561336957905b80610fa052610fa051610d00518110156144325760051b610d200151610fc052610fc0511561334c57610fc0516001610fe0525f610580516014811161443257801561333f57905b8060051b6105a001518318613334575f610fe05261333f565b60010181811861331b575b5050610fe051905061334e565b5f5b1561335e575f8352505050613372565b6001018181186132d3575b50505b60018152505b565b60206146eb6040396005546060525f548152606051602082015230604082015260405160608201526040516347be091a608052600160a052602060806024609c845afa6133c3573d5f5f3e3d5ffd5b3d602081183d60201002188060800160a011614432576080518060a01c6144325760c0525060c090505160808201526040516347be091a60e052600261010052602060e0602460fc845afa61341a573d5f5f3e3d5ffd5b3d602081183d60201002188060e001610100116144325760e0518060a01c61443257610120525061012090505160a08201526040516347be091a610140526003610160526020610140602461015c845afa613477573d5f5f3e3d5ffd5b3d602081183d602010021880610140016101601161443257610140518060a01c61443257610180525061018090505160c08201526040516347be091a6101a05260046101c05260206101a060246101bc845afa6134d6573d5f5f3e3d5ffd5b3d602081183d6020100218806101a0016101c011614432576101a0518060a01c614432576101e052506101e090505160e08201526060516386bdfcc9610200526020610200600461021c845afa61352f573d5f5f3e3d5ffd5b3d602081183d602010021880610200016102201161443257610200518060a01c61443257610240525061024090505161010082015260605163cb44a1b0610260526020610260600461027c845afa613589573d5f5f3e3d5ffd5b60203d106144325761026090505161012082015250565b608051604051146135ed576040516370a0823161010052606051610120526020610100602461011c845afa6135d7573d5f5f3e3d5ffd5b60203d106144325761010090505181525061364f565b60a05160e051106136035760c05181525061364f565b60a05160e0518082038281116144325790509050610100525f610120526101005160c05111156136475760c051610100518082038281116144325790509050610120525b610120518152505b565b60016103005260016103205260403661034037610140511561367c576102c05161014051181561367e565b5f5b6136a057610180511561369a576102c0516101805118156136a3565b5f6136a3565b60015b15613731576102c0516370a08231610380526101e0516103a0526020610380602461039c845afa6136d6573d5f5f3e3d5ffd5b60203d10614432576103809050516103405261026051635f03f86d610380526101e0516103a0526102c0516103c0526020610380604461039c845afa61371e573d5f5f3e3d5ffd5b60203d1061443257610380905051610360525b61016051156137b357610140516040526101e05160605260406102c060805e604061034060c05e6137636103a06135a0565b6103a0516103805261016051610380511015610300526101405115613791576102c051610140511815613793565b5f5b156137b35761034051610160518082038281116144325790509050610340525b6101a051156137fc57610180516040526101e05160605260406102c060805e604061034060c05e6137e56103a06135a0565b6103a051610380526101a051610380511015610320525b61030051815261032051602082015250565b6060511561396d5760403660a03760805163ccaf433760e05260405161010052604060e0602460fc845afa613845573d5f5f3e3d5ffd5b3d604081183d60401002188060e001610120116144325760e05161014052610100518060a01c61443257610160525061014090506040816101805e50604061018060a05e60c0511561396d576060516040516370a0823161010052600554610120526020610100602461011c845afa6138c0573d5f5f3e3d5ffd5b60203d10614432576101009050518082811882841002189050905060e05260e0511561396d5760146040516020525f5260405f20805460e051808201828110614432579050905081555060156040516020525f5260405f20805460c051636331f17f610100526040516101205260e051610140526020610100604461011c845afa61394d573d5f5f3e3d5ffd5b60203d106144325761010090505180820182811061443257905090508155505b565b6101c0516370a0823161022052600554610240526020610220602461023c845afa61399c573d5f5f3e3d5ffd5b60203d10614432576102209050516102005260146101c0516020525f5260405f2054610220526102205161020051106139fe576101c051604052610200516102205180820382811161443257905090506060526101e051608052613ae861380e565b610220516102005180820382811161443257905090506102405261022051610240511015613ac55760146101c0516020525f5260405f20805461024051808203828111614432579050905081555060156101c0516020525f5260405f2054610260526102605115613ae8576102605161024051808202811583838304141715614432579050905061022051801561443257808204905090506102805260156101c0516020525f5260405f208054610280518082038281116144325790509050815550613ae8565b5f60146101c0516020525f5260405f20555f60156101c0516020525f5260405f20555b565b60405115613bd55760136040516020525f5260405f205460c05260c051613b665760a05163338c4ccb60e05260405161010052602060e0602460fc845afa613b34573d5f5f3e3d5ffd5b3d602081183d60201002188060e001610100116144325760e0518060011c614432576101205250610120905051613b68565b5f5b15613b8457600160136040516020525f5260405f2055600160c0525b60c05115613bd55760146040516020525f5260405f208054606051808201828110614432579050905081555060156040516020525f5260405f20805460805180820182811061443257905090508155505b565b6101c0516370a0823161026052600554610280526020610260602461027c845afa613c04573d5f5f3e3d5ffd5b60203d10614432576102609050516102405260146101c0516020525f5260405f205461026052610260516102405110613c6f576101c0516040526102405161026051808203828111614432579050905060605261022051608052613c6661380e565b5f815250613db3565b6102605161024051808203828111614432579050905061028052610200516102805180820281158383830414171561443257905090506101e051801561443257808204905090506102a0525f6102c05261026051610280511015613cf85760146101c0516020525f5260405f208054610280518082038281116144325790509050815550613d10565b5f60146101c0516020525f5260405f205560016102c0525b5f6102e05260156101c0516020525f5260405f205461030052610300516102a05111613d7f576102c051613d695760156101c0516020525f5260405f2080546102a0518082038281116144325790509050815550613dab565b5f60156101c0516020525f5260405f2055613dab565b6102a0516103005180820382811161443257905090506102e0525f60156101c0516020525f5260405f20555b6102e0518152505b565b6080516342af624e60a05260405160c052602060a0602460bc845afa613ddd573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c0116144325760a0518060011c6144325760e0525060e090505115614432575f54606051638da5cb5b60a052602060a0600460bc845afa613e30573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c0116144325760a0518060a01c6144325760e0525060e09050511861443257613e6960a061309c565b60a051614432576060516388da8c2560a052602060a0600460bc845afa613e92573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c0116144325760a0518060011c6144325760e0525060e090505161443257601054606051638a44ec4360a052602060a0600460bc845afa613ee5573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c0116144325760a0518060a01c6144325760e0525060e09050511861443257565b6001600b6040516020525f5260405f20556040517f24ff5758f69bbc70fadae0202200f348d95155b7af43e5a5e250f8a1383ce3805f6060a26001815250565b606051613f9e57608051613f975760a051613f905760c051613f895760e051613f825761010051613fa1565b6001613fa1565b6001613fa1565b6001613fa1565b6001613fa1565b60015b815250565b604051613fb7576103805115613fb9565b5f5b15613fee5760405160208160051b01806040845e50506103805160208160051b01610340830181610380825e50505050614266565b5f610620525f604051601981116144325780156140ac57905b8061096052610960516040518110156144325760051b606001516109805261098051156140a1576109805160016109a0525f610620516019811161443257801561407157905b8060051b61064001518318614066575f6109a052614071565b60010181811861404d575b50506109a0519050156140a157610620516018811161443257610980518160051b61064001526001810161062052505b600101818118614007575b50505f6109605261038051156142385760206146eb5f395f516347be091a610c20526002610c40526020610c206024610c3c845afa6140ed573d5f5f3e3d5ffd5b3d602081183d602010021880610c2001610c401161443257610c20518060a01c61443257610c605250610c60905051610c00525f610380516014811161443257801561423557905b80610c2052610c2051610380518110156144325760051b6103a00151610c4052610c00516372cb00dd610c6052610c4051610c80526020610c606024610c7c845afa614183573d5f5f3e3d5ffd5b3d602081183d602010021880610c6001610c801161443257610c60518060011c61443257610ca05250610ca09050511561422a57610c40516001610c60525f61096051601481116144325780156141fa57905b8060051b610980015183186141ef575f610c60526141fa565b6001018181186141d6575b5050610c605190501561422a57610960516013811161443257610c40518160051b61098001526001810161096052505b600101818118614135575b50505b6106205160208160051b0180610620845e50506109605160208160051b01610340830181610960825e505050505b565b5f60605260206146eb5f395f516347be091a60a052600160c052602060a0602460bc845afa614299573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c0116144325760a0518060a01c6144325760e0525060e09050516080526080516342af624e60a05260405160c052602060a0602460bc845afa6142ee573d5f5f3e3d5ffd5b3d602081183d60201002188060a00160c0116144325760a0518060011c6144325760e0525060e09050511561442a5760405163d34ddc05610120526020610120600461013c845afa614342573d5f5f3e3d5ffd5b3d602081183d602010021880610120016101401161443257610120518060a01c61443257610160525061016090505161010052610100516388da8c25610120526020610120600461013c845afa61439b573d5f5f3e3d5ffd5b3d602081183d602010021880610120016101401161443257610120518060011c61443257610160525061016090505161442a5761010051638da5cb5b610180526020610180600461019c845afa6143f4573d5f5f3e3d5ffd5b3d602081183d602010021880610180016101a01161443257610180518060a01c614432576101c052506101c09050515f54146060525b606051815250565b5f80fd0057446308002f44f3060b5d45830a000d455b05038b44a30a0022465307001746230612d845d30a0017452307ba080e502c5800254f8e7f932703002588da8c2500640005085070fd2fdc0005554c4f4b04610025e1fd75d126440025d2184272120c0045108afe12300c0005db4e383b2fa000252af4c31e00740025748d56de19c800654ce7ebd706e400052060117b2e330025e72f6e302cd40025beb6910310be008541937b41256b002574a2a325293d00251530908e2e2100058400c3072f7a00258c73768401060005b327ef7b2fd00005d16d8c1a081600258580dff0018e0005c1c6f1b0048700856251ea0002a60025199f8812034b0005338c4ccb30180025c86cfae6033d0005bf550b72100400a5bdde4f9112680065d4b7397230640025deb726ee303e00258da5cb5b030e0005521eb2732e090005c4686f392fe800053b2a863b0331000594b51d37308a0005e30c397803190005e5b655c111540065deaa59df03670025b4a170141f5d0045d9cf00a330000005260936c6229300256b4186c815b200659b771f0f035900051a3b730c2a7600056def90072aae002553852974284f0025ce42c3e011fd0025dc770b470f8200a5cd69d33b244f00255bb0c7c028c300451365eafd22a001a515693ff1194d00252582941003f700056381acfc19640045777ed948058a0025ea9129a80d5e01a52a5e9ca70d510065229913b824ff00253f946dc72e59002554bda60e2151004577da3f1024d70025e17bfd431a4801e570e90023099901c5889a0bdf1e8d00258a44ec432ff40005bfd3039811ae0045c1b7d33f2e1500058558207521f4e6c36309d9c1b53667a6e884346944391f6a44291bfd80a5812335ffe919468b8a182d1840185018301838182818501850183018381880a165767970657283000401004a0000000000000000000000002d3aed7c8f8461b4089b95e91b7040a1d845f43900000000000000000000000073d28f85134526ae82c96ad7e22555012acd29f100000000000000000000000066d8e0176605bb20decdde7e9611227b4dc405860000000000000000000000007bcd6d471d1a068012a79347c7a944d1df01a1ae00000000000000000000000000000000000000000000000000000000000054600000000000000000000000000000000000000000000000000000000000049d40