@verified-network/verified-sdk 0.7.2 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/abi/accounts/Account.json +47 -47
- package/dist/abi/accounts/Client.json +97 -97
- package/dist/abi/accounts/Holder.json +59 -59
- package/dist/abi/accounts/Kyc.json +2353 -2547
- package/dist/abi/accounts/Ledger.json +25 -25
- package/dist/abi/accounts/System.json +125 -125
- package/dist/abi/assetmanager/BalancerManager.json +3 -3
- package/dist/abi/liquidity/Distribution.json +3 -3
- package/dist/abi/liquidity/Liquidity.json +3 -3
- package/dist/abi/payments/Bond.json +373 -373
- package/dist/abi/payments/Cash.json +261 -261
- package/dist/abi/payments/Factory.json +72 -72
- package/dist/abi/payments/Oracle.json +69 -69
- package/dist/abi/payments/Rates.json +71 -71
- package/dist/abi/payments/Token.json +550 -550
- package/dist/abi/securities/Bonds.json +10 -2
- package/dist/abi/securities/Products.json +10 -2
- package/dist/abi/securities/Stocks.json +10 -2
- package/dist/abi/trades/OrderPool.json +4 -4
- package/dist/abi/trades/PoolFactory.json +3 -3
- package/dist/abi/trades/PostTrade.json +3 -3
- package/dist/abi/trades/PreTrade.json +4 -4
- package/dist/abi/trades/SecuritiesRegistry.json +4 -4
- package/dist/abi/trades/Security.json +3 -3
- package/dist/abi/trades/Trade.json +4 -4
- package/dist/contractAddress/index.js +32 -32
- package/package.json +1 -1
|
@@ -787,9 +787,9 @@
|
|
|
787
787
|
"type": "function"
|
|
788
788
|
}
|
|
789
789
|
],
|
|
790
|
-
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"txId\",\"type\":\"bytes32\"},{\"name\":\"result\",\"type\":\"bytes16\"},{\"name\":\"rtype\",\"type\":\"bytes32\"}],\"name\":\"convert\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"amount\",\"type\":\"bytes16\"},{\"name\":\"payer\",\"type\":\"address\"},{\"name\":\"currency\",\"type\":\"bytes32\"},{\"name\":\"cashContract\",\"type\":\"address\"}],\"name\":\"requestIssue\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"issues\",\"outputs\":[{\"name\":\"parValue\",\"type\":\"bytes16\"},{\"name\":\"paidInAmount\",\"type\":\"bytes16\"},{\"name\":\"paidInCurrency\",\"type\":\"bytes32\"},{\"name\":\"timeIssuedOrSubscribed\",\"type\":\"uint256\"},{\"name\":\"purchasedIssueAmount\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"purchaser\",\"type\":\"address\"},{\"name\":\"bondToken\",\"type\":\"address\"}],\"name\":\"getBondPurchases\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"purchases\",\"outputs\":[{\"name\":\"parValue\",\"type\":\"bytes16\"},{\"name\":\"paidInAmount\",\"type\":\"bytes16\"},{\"name\":\"paidInCurrency\",\"type\":\"bytes32\"},{\"name\":\"timeIssuedOrSubscribed\",\"type\":\"uint256\"},{\"name\":\"purchasedIssueAmount\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"amount\",\"type\":\"bytes16\"},{\"name\":\"payer\",\"type\":\"address\"},{\"name\":\"currency\",\"type\":\"bytes32\"},{\"name\":\"tokenContract\",\"type\":\"address\"}],\"name\":\"requestRedemption\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"receiver\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"forwarder\",\"type\":\"address\"}],\"name\":\"transferForward\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"bondName\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"bytes32\"},{\"name\":\"_currency\",\"type\":\"bytes32\"},{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_oracle\",\"type\":\"address\"},{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_fee\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getBonds\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"issuer\",\"type\":\"address\"},{\"name\":\"bondToken\",\"type\":\"address\"}],\"name\":\"getBondIssues\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"receiver\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"bondsIssued\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"amount\",\"type\":\"bytes16\"},{\"name\":\"payer\",\"type\":\"address\"},{\"name\":\"currency\",\"type\":\"bytes32\"},{\"name\":\"cashContract\",\"type\":\"address\"}],\"name\":\"requestPurchase\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"bondName\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"currency\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"collateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"issueTime\",\"type\":\"uint256\"}],\"name\":\"BondIssued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"tokenName\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"currency\",\"type\":\"bytes32\"}],\"name\":\"BondRedeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"bondName\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"currency\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"paidInAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"purchaseTime\",\"type\":\"uint256\"}],\"name\":\"BondPurchased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"tokenName\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"currency\",\"type\":\"bytes32\"}],\"name\":\"BondLiquidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"initialize(address)\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"isPaused()\":{\"return\":\"True: contract is paused\\rFalse: contract is not paused\\r\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"isPaused()\":{\"notice\":\"returns whether or not the contract is paused\\r\"}}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Bond.sol\":\"Bond\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol\":{\"keccak256\":\"0x3491510fa4862af1a43f6c860d9cf7392240196540cd3c0eea79d374d419c5a1\",\"urls\":[\"bzzr://5cddbf3b74b775a8670757a6b8e108dac17dac20253f35f4c729e9cb6bea4ed3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xd7e8ab76fa35c4d8d35a06a6ed538cadab8b75a1aa00594ced1568b2c0cadde3\",\"urls\":[\"bzzr://b4c855b32d75f2a4969bfbd530b6934b69f12f28584b3746967e1ca64e024bd9\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzzr://f75d88b16fe25a9e19b3512691c496e2bb6d8451bc9a636196c4e17ca9b40201\"]},\"abdk-libraries-solidity/ABDKMathQuad.sol\":{\"keccak256\":\"0xf75c2b34d9924cc413521db48a168b00ed321e678e70f5048a50c1140994dcf2\",\"urls\":[\"bzzr://0bdb29f3216c419e91defe1801f146cb40bb9551c8cd708ffb59f1e298e205ce\"]},\"project:/contracts/Bond.sol\":{\"keccak256\":\"0x87d4c18b0768becb0a8f8366194c5b5b2ab0aeceecdb1a3d93862017d6b83a15\",\"urls\":[\"bzzr://3e399d740a51e7a98351220884752dd095d398dacfb2a7701db927fdbea6bf54\"]},\"project:/contracts/erc/ERC20.sol\":{\"keccak256\":\"0x44421d361d4f1e95aa8727438abb33269aac246ea409e40ea1669a9b5dd81b92\",\"urls\":[\"bzzr://b5a3ae0440cebe82f803fef0c2f7d4ca15ad2544aee897d41073479b38ac887f\"]},\"project:/contracts/interfaces/VerifiedClient.sol\":{\"keccak256\":\"0xbdfb6846d7679a8a1b8984a5262f5d5ae072c319bb951692c0ba19943164fd0a\",\"urls\":[\"bzzr://c86aa25338531c43af3f9fc04d171b6ee721b6522346d42c7b593366e512f482\"]},\"project:/contracts/interfaces/VerifiedRates.sol\":{\"keccak256\":\"0x58aa2d71941b79adb51c296576386555de6ba0bc4d352fb7d94ed83cb86cae3e\",\"urls\":[\"bzzr://f57e774b3103b40d2a14d772aa5285d75e7ad5b5d05362efea44f8efa9a20d13\"]},\"project:/contracts/interfaces/ViaBond.sol\":{\"keccak256\":\"0x2ea135bd12198e48344fddfff48b02786433774d540247d4cb6b6fab8ce0d78c\",\"urls\":[\"bzzr://7b08218b93bde6f7ba986148b15dc14701605075a9958da29c2f4e27835e9744\"]},\"project:/contracts/interfaces/ViaCash.sol\":{\"keccak256\":\"0xd787524b72c3a886b0aa471528bc4e4a092215389df75445eca21d52c7921249\",\"urls\":[\"bzzr://68140256f0efabd02839139f6dc253f6cde0af97ed7bbb1e9dda9012dda514d4\"]},\"project:/contracts/interfaces/ViaFactory.sol\":{\"keccak256\":\"0x61364e0e62edba9e4db776f09b320ed7147e2049f91bdf0ade6666818aa82e59\",\"urls\":[\"bzzr://c4e228128c76aa00ea50de421dc1f0b9660ae843c6d88f8bfdf6cddd237608d1\"]},\"project:/contracts/interfaces/ViaOracle.sol\":{\"keccak256\":\"0x1f29e4999576b985fa45ff53ca14594f077e96def714ef441b73f072ec72994d\",\"urls\":[\"bzzr://a2f079f5481a5c5ef6e6b58935ef1f8e03f9f528bd95153a72884343296c902e\"]},\"project:/contracts/interfaces/ViaToken.sol\":{\"keccak256\":\"0x6727f15ebe785583bd6f8392d5ca86f12864fac88d263ee4a3c4edd41a4a525a\",\"urls\":[\"bzzr://8e1a4c2207d0c54dea87ae28dbfb9f41a1ebf50db6d083c8d369098159149048\"]},\"project:/contracts/utilities/BokkyPooBahsDateTimeLibrary.sol\":{\"keccak256\":\"0xd21e21c1f282c6a9582d081fdfe0ad5bf79466cdd1c5acdd3da6d3a4f68020f7\",\"urls\":[\"bzzr://3de13ba04cba9e306c19e3e2ec30c5641a971191d7054b58d1b5b30979769e35\"]},\"project:/contracts/utilities/Pausable.sol\":{\"keccak256\":\"0x96eceae12582eec38cc9706095b6f7d038b00dc36d98a02d234e7051b42a2a6a\",\"urls\":[\"bzzr://e5e1adfa3d22d6769d754f3f7f74eb1b12f5327b56b49584d34490b9d747d9b3\"]},\"project:/contracts/utilities/PaymentUtils.sol\":{\"keccak256\":\"0xdc4df1dbdb921e72b41d2d53047382b33cab6b3c61fac4a859d94319a0725f0e\",\"urls\":[\"bzzr://ace86d7d8e3d50d184b3615b6a6cb205ad2fbe3cc54323c6831976eb3f08e743\"]},\"project:/contracts/utilities/StringUtils.sol\":{\"keccak256\":\"0x83efe297d5b86cfb88d09a7f8d186891abeef1f93a2eaf920d8f06cca52241c0\",\"urls\":[\"bzzr://dbad84615e07a48a5e1a9f45dc70c09895fbf0aa65b6510242c2b91ad2a3c78a\"]}},\"version\":1}",
|
|
791
|
-
"bytecode": "0x6080604052603c607455615ef9806100186000396000f3fe6080604052600436106101b75760003560e01c80638456cb59116100ec57806395d89b411161008a578063c4d66de811610064578063c4d66de814610529578063d478b27414610549578063f2fde38b14610569578063f6fd5c7914610589576101b7565b806395d89b41146104df578063a9059cbb146104f4578063b187bd2614610514576101b7565b80638b140f6b116100c65780638b140f6b146104555780638da5cb5b146104775780638f32d59b146104995780638fba9c7c146104ae576101b7565b80638456cb591461040b578063887b6abc1461042057806389d29c4c14610435576101b7565b80633f4ba83a1161015957806370a082311161013357806370a0823114610396578063715018a6146103b657806379537570146103cb57806381ca86fe146103eb576101b7565b80633f4ba83a14610331578063410a6c7d146103465780636b98f83514610376576101b7565b806327e235e31161019557806327e235e3146102845780632c5fc01d146102b1578063313ce567146102de57806339baf48014610300576101b7565b806306fdde031461021557806318160ddd1461024057806321f68b4e14610262575b346101c157600080fd5b36156101cc57600080fd5b60685460ff16156101dc57600080fd5b6101e5336105a9565b15156001146101f357600080fd5b6102126101ff346106e5565b33600160d91b6432ba3432b9023061074a565b50005b34801561022157600080fd5b5061022a610e6f565b6040516102379190615cea565b60405180910390f35b34801561024c57600080fd5b50610255610efd565b6040516102379190615bee565b34801561026e57600080fd5b5061028261027d36600461557d565b610f13565b005b34801561029057600080fd5b506102a461029f3660046153fa565b61141d565b6040516102379190615b83565b3480156102bd57600080fd5b506102d16102cc36600461553d565b611432565b6040516102379190615b75565b3480156102ea57600080fd5b506102f361151f565b6040516102379190615db2565b34801561030c57600080fd5b5061032061031b366004615436565b611524565b604051610237959493929190615bac565b34801561033d57600080fd5b50610282611566565b34801561035257600080fd5b50610366610361366004615436565b6115c6565b6040516102379493929190615d89565b34801561038257600080fd5b50610320610391366004615436565b61167d565b3480156103a257600080fd5b506102556103b13660046153fa565b6116bf565b3480156103c257600080fd5b506102826116ea565b3480156103d757600080fd5b506102d16103e636600461553d565b611764565b3480156103f757600080fd5b506102d1610406366004615470565b611865565b34801561041757600080fd5b50610282611955565b34801561042c57600080fd5b506102556119b1565b34801561044157600080fd5b506102826104503660046155ca565b6119b7565b34801561046157600080fd5b5061046a611b9c565b6040516102379190615b64565b34801561048357600080fd5b5061048c611bfe565b6040516102379190615a2a565b3480156104a557600080fd5b506102d1611c0d565b3480156104ba57600080fd5b506104ce6104c9366004615436565b611c33565b604051610237959493929190615da4565b3480156104eb57600080fd5b5061022a611d23565b34801561050057600080fd5b506102d161050f3660046154d1565b611d7e565b34801561052057600080fd5b506102d1611e72565b34801561053557600080fd5b506102826105443660046153fa565b611e7b565b34801561055557600080fd5b5061048c610564366004615686565b611f50565b34801561057557600080fd5b506102826105843660046153fa565b611f77565b34801561059557600080fd5b506102d16105a436600461553d565b611faa565b600080606860019054906101000a90046001600160a01b03166001600160a01b03166359dc735c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105fa57600080fd5b505afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106329190810190615418565b90506001600160a01b03811661064c5760019150506106e0565b604051600160e01b633a2910330281526001600160a01b03821690633a2910339061067b908690600401615a2a565b60206040518083038186803b15801561069357600080fd5b505afa1580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106cb9190810190615501565b156106da5760019150506106e0565b60009150505b919050565b6000816106f4575060006106e0565b81600061070082612124565b90506070811015610719578060700382901b915061072c565b607081111561072c576070810382901c91505b613fff0160701b6001600160701b03919091161760801b90506106e0565b60006001600160801b0319851661076057600080fd5b610769856121c7565b945082600160d91b6432ba3432b902146108b457606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906107b4908590600401615a2a565b60206040518083038186803b1580156107cc57600080fd5b505afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610804919081019061555f565b600160cb1b660acd2c286c2e6d0214156108ac57604051600160e01b63a1c348810281526001600160a01b0383169063a1c34881906108499088908890600401615b91565b602060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089b9190810190615501565b6108a757506000610e67565b6108b4565b506000610e67565b82600160d91b6432ba3432b9021415610c7757606d54600160da1b6415961554d10214610b2757606a54604051600160e01b63274200630281526000916001600160a01b03169063274200639061090f903090600401615d25565b602060405180830381600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610961919081019061555f565b606a54606d546040519293506000926001600160a01b039092169163274200639161098e91602001615a13565b60408051601f198184030181529082905263ffffffff831660e01b82526109b9913090600401615c74565b602060405180830381600087803b1580156109d357600080fd5b505af11580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a0b919081019061555f565b606a54604051600160e21b6313f493a70281529192506001600160a01b031690634fd24e9c90610a419085908590600401615c31565b600060405180830381600087803b158015610a5b57600080fd5b505af1158015610a6f573d6000803e3d6000fd5b5050506000828152607260205260408120600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b038b161790556002810180546001600160801b03191660808c901c179055600181018890559150610ad5906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610b0160006106e5565b60039190910180546001600160801b03191660809290921c91909117905550610c729050565b606d54600160da1b6415961554d1021415610c7257606a54604051600160e01b63274200630281526000916001600160a01b031690632742006390610b70903090600401615d25565b602060405180830381600087803b158015610b8a57600080fd5b505af1158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bc2919081019061555f565b6000818152607260205260408120600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b038a161790556002810180546001600160801b03191660808b901c17905560018101879055919250610c26906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610c5260016106e5565b60039190910180546001600160801b03191660809290921c919091179055505b610e63565b606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e64790610ccc9089908790600590600401615c4c565b60006040518083038186803b158015610ce457600080fd5b505af4158015610cf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d209190810190615651565b606d54604051602001610d349291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b8252610d5f913090600401615c74565b602060405180830381600087803b158015610d7957600080fd5b505af1158015610d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610db1919081019061555f565b6000818152607260205260409020600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b0389161790556002810180546001600160801b03191660808a901c179055600180820187905591925090610e17906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610e4360006106e5565b60039190910180546001600160801b03191660809290921c919091179055505b5060015b949350505050565b606b805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b820191906000526020600020905b815481529060010190602001808311610ed857829003601f168201915b505050505081565b60008054610f0d9060801b612362565b90505b90565b606a546001600160a01b03163314610f2a57600080fd5b80600160d21b65195d1a1d5cd9021415610f6957600083815260726020526040902060020180546001600160801b0316600160801b608085901c021790555b80600160f11b6134b9021415610fa457600083815260726020526040902060030180546001600160801b0316600160801b608085901c021790555b80600160f11b6132b9021415610fda57600083815260726020526040902060030180546001600160801b031916608084901c1790555b80600160e91b623b32b902141561101157600083815260726020526040902060030180546001600160801b031916608084901c1790555b600083815260726020526040902054600160d81b6469737375650214156112165780600160d21b65195d1a1d5cd9021480611054575080600160e91b623b32b902145b156112115760008381526072602052604081206002015461108991600160801b90910460801b90611084906106e5565b6123fb565b60000b158015906110c157506000838152607260205260408120600301546110bb9160809190911b90611084906106e5565b60000b15155b1561121157606d54600084815260726020526040808220600281015460018201546003909201549251600160e21b631e61f511028152939473__paymentutils__________________________94637987d44494611138949293608081811b9493600160801b909204811b92901b90600401615bfc565b60206040518083038186803b15801561115057600080fd5b505af4158015611164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611188919081019061551f565b6000858152607260205260409020600581015460028201546001909201549293506111c7926001600160a01b0390911691849160809190911b90612544565b506000838152607260205260408120818155600181018290556002810182905560038101919091556004810180546001600160a01b03199081169091556005909101805490911690555b611418565b600083815260726020526040902054600160c01b6770757263686173650214156114185780600160f11b6132b9021480611257575080600160f11b6134b902145b15611418576000838152607260205260408120600301546112829160809190911b90611084906106e5565b60000b158015906112bf57506000838152607260205260408120600301546112b991600160801b90910460801b90611084906106e5565b60000b15155b1561141857606d54600084815260726020526040808220600281015460018201546003909201549251600160e11b634dd1211f028152939473__paymentutils__________________________94639ba2423e94611337949293608090811b939282821b92600160801b900490911b90600401615bfc565b60206040518083038186803b15801561134f57600080fd5b505af4158015611363573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611387919081019061551f565b60008581526072602052604090206005810154600282015460018301546004909301549394506113ce936001600160a01b0392831693869360809390931b92909116612807565b506000838152607260205260408120818155600181018290556002810182905560038101919091556004810180546001600160a01b03199081169091556005909101805490911690555b505050565b60016020526000908152604090205460801b81565b60685460009060ff161561144557600080fd5b82606d54141561145457600080fd5b61145d846105a9565b151560011461146b57600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906114a2903390600401615a38565b60206040518083038186803b1580156114ba57600080fd5b505afa1580156114ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f2919081019061555f565b600160cb1b660acd2c286c2e6d021461150a57600080fd5b6115168585858561074a565b95945050505050565b600290565b606f6020908152600092835260408084209091529082529020805460018201546002830154600390930154608083811b94600160801b909404811b9391901b85565b606854339061010090046001600160a01b0316611581611bfe565b6001600160a01b0316826001600160a01b031614806115b15750806001600160a01b0316826001600160a01b0316145b6115ba57600080fd5b6115c2612b14565b5050565b6001600160a01b038083166000908152606f602090815260408083209385168352929052908120600301548190819081906116039060801b612362565b6001600160a01b038088166000908152606f60209081526040808320938a168352929052205461163c90600160801b900460801b612362565b6001600160a01b039788166000908152606f6020908152604080832099909a1682529790975296909520600181015460029091015495979095945092505050565b60706020908152600092835260408084209091529082529020805460018201546002830154600390930154608083811b94600160801b909404811b9391901b85565b6001600160a01b0381166000908152600160205260408120546116e49060801b612362565b92915050565b6116f2611c0d565b61171a57604051600160e51b62461bcd02815260040161171190615d5c565b60405180910390fd5b6035546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603580546001600160a01b0319169055565b60685460009060ff161561177757600080fd5b611780846105a9565b151560011461178e57600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906117c5903390600401615a38565b60206040518083038186803b1580156117dd57600080fd5b505afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611815919081019061555f565b600160a11b6b2b34b0a137b7322a37b5b2b7021461183257600080fd5b611851858585600160a11b6b21b0b9b42a3930b739b332b90286612b49565b61185d57506000610e67565b506001610e67565b60685460009060ff161561187857600080fd5b611881856105a9565b151560011461188f57600080fd5b611898846105a9565b15156001146118a657600080fd5b6001600160a01b03841630148015906118d05750816001600160a01b0316846001600160a01b0316145b1561190c576118ff6118e1846106e5565b86606d54600160991b6c2a37b5b2b72a3930b739b332b90286612b49565b156108ac57506001610e67565b6001600160a01b0380861660009081526070602090815260408083209386168352929052206003015483906119439060801b612362565b14156108ac576118ff82868686613cfd565b606854339061010090046001600160a01b0316611970611bfe565b6001600160a01b0316826001600160a01b031614806119a05750806001600160a01b0316826001600160a01b0316145b6119a957600080fd5b6115c2613eb2565b606d5481565b600254610100900460ff16806119d057506119d0613eea565b806119de575060025460ff16155b6119fd57604051600160e51b62461bcd02815260040161171190615d6c565b600254610100900460ff16158015611a28576002805460ff1961ff0019909116610100171660011790555b611a3185611e7b565b60688054610100600160a81b0319163361010002179055606a80546001600160a01b0319166001600160a01b038616179055604051611a749088906020016159cf565b604051602081830303815290604052606b9080519060200190611a9892919061522c565b50604051600160e01b63f921e64702815273__stringutils___________________________9063f921e64790611ad9908a90600090600590600401615c4c565b60006040518083038186803b158015611af157600080fd5b505af4158015611b05573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b2d9190810190615651565b8051611b4191606c9160209091019061522c565b50606d869055606e80546001600160a01b038086166001600160a01b03199283161790925560698054928516929091169190911790556073805460ff191690558015611b93576002805461ff00191690555b50505050505050565b60606071805480602002602001604051908101604052809291908181526020018280548015611bf457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611bd6575b5050505050905090565b6035546001600160a01b031690565b6035546000906001600160a01b0316611c24613ef0565b6001600160a01b031614905090565b6001600160a01b038083166000908152606f602090815260408083209385168352929052908120548190819081908190611c6f9060801b612362565b6001600160a01b038089166000908152606f60209081526040808320938b1683529290522060030154611ca49060801b612362565b6001600160a01b03808a166000908152606f60209081526040808320938c1683529290522054611cdd90600160801b900460801b612362565b6001600160a01b03998a166000908152606f602090815260408083209b909c16825299909952989097206001810154600290910154919997989790965090945092505050565b606c805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b6000611da4611d8c836106e5565b3060009081526001602052604090205460801b6123fb565b60000b6000191480611dc25750611dbd611d8c836106e5565b60000b155b611dcb57600080fd5b30600090815260016020526040902054611df09060801b611deb846106e5565b613ef4565b3060009081526001602052604080822080546001600160801b031916608094851c1790556001600160a01b0386168252902054611e36911b611e31846106e5565b613f02565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c92909217909155905092915050565b60685460ff1690565b600254610100900460ff1680611e945750611e94613eea565b80611ea2575060025460ff16155b611ec157604051600160e51b62461bcd02815260040161171190615d6c565b600254610100900460ff16158015611eec576002805460ff1961ff0019909116610100171660011790555b603580546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156115c2576002805461ff00191690555050565b60718181548110611f5d57fe5b6000918252602090912001546001600160a01b0316905081565b611f7f611c0d565b611f9e57604051600160e51b62461bcd02815260040161171190615d5c565b611fa781614334565b50565b60685460009060ff1615611fbd57600080fd5b611fc6846105a9565b1515600114611fd457600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b9061200b903390600401615a38565b60206040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061205b919081019061555f565b600160a11b6b2b34b0a137b7322a37b5b2b7021461207857600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906120af908590600401615a2a565b60206040518083038186803b1580156120c757600080fd5b505afa1580156120db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ff919081019061555f565b600160cb1b660acd2c286c2e6d021461211757600080fd5b61151685858585336143b9565b600080821161213257600080fd5b6000600160801b831061214757608092831c92015b68010000000000000000831061215f57604092831c92015b640100000000831061217357602092831c92015b62010000831061218557601092831c92015b610100831061219657600892831c92015b601083106121a657600492831c92015b600483106121b657600292831c92015b600283106116e45760010192915050565b606954604051600160e01b63e5f3d3a50281526000918291612254916001600160a01b03169063e5f3d3a5906121ff90600401615d7c565b60206040518083038186803b15801561221757600080fd5b505afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224f919081019061555f565b6106e5565b9050600061226182612362565b1561235a5760695460408051600160e11b637a55098102815290516000926001600160a01b03169163f4aa1302916004808301926020929190829003018186803b1580156122ae57600080fd5b505afa1580156122c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122e69190810190615418565b90506001600160a01b0381161561235857806001600160a01b03166108fc6123166123118689614a27565b612362565b6040518115909202916000818181858888f1935050505015801561233e573d6000803e3d6000fd5b5061234d85611deb8588614a27565b93506106e092505050565b505b509192915050565b6000617fff6001600160801b03608084901c1660701c16613fff81101561238d5760009150506106e0565b6001607f1b8360801c6001600160801b0316106123a957600080fd5b6140fe8111156123b857600080fd5b600160701b6001600160701b03608085901c161761406f8210156123e25761406f8290031c6123f4565b61406f8211156123f45761406e1982011b5b9392505050565b600060016001607f1b03608084901c16600160701b617fff0281111561242057600080fd5b60016001607f1b03608084901c16600160701b617fff0281111561244357600080fd5b6001600160801b031985811690851614158061246f5750600160701b617fff02826001600160801b0316105b61247857600080fd5b6001600160801b03198581169085161415612498576000925050506116e4565b60006001607f1b8660801c6001600160801b03161015905060006001607f1b8660801c6001600160801b03161015905081156125035780156124f457826001600160801b0316846001600160801b0316116124f45760016124f8565b6000195b9450505050506116e4565b80156125165760019450505050506116e4565b826001600160801b0316846001600160801b031611612537576000196124f8565b60019450505050506116e4565b606854606e54606d5460405142936000936001600160a01b03610100909204821693638d5040cc9391909216918a9161258390839089906020016159a9565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016125b89493929190615a46565b602060405180830381600087803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061260a9190810190615418565b604051600160e21b632926e29302815290915081906001600160a01b0382169063a49b8a4c90612640908a908a90600401615aa3565b600060405180830381600087803b15801561265a57600080fd5b505af115801561266e573d6000803e3d6000fd5b5050604051600160e01b63014153330281526001600160a01b0384169250630141533391506126a1908990600401615b83565b600060405180830381600087803b1580156126bb57600080fd5b505af11580156126cf573d6000803e3d6000fd5b50506000546126e4925060801b905087613f02565b600080546001600160801b031916608092831c1781556001600160a01b03891681526001602052604090205461271b911b87613f02565b6001600160a01b038881166000908152600160208190526040822080546001600160801b03191660809590951c9490941790935560718054938401815590527fa1fcd19bfe8c32a61095b6bfbb2664842857e148fcbb5188386c8cd40348d5b690910180546001600160a01b0319169184169190911790556127a1878787878787614caf565b866001600160a01b03167ff9e043edf72c472f6956335dea3cb1ca7150f556bca6cb2381be218f47a779f183606d546127d98a612362565b886127e38b612362565b896040516127f696959493929190615abe565b60405180910390a250505050505050565b60008190506000816001600160a01b031663525564216040518163ffffffff1660e01b815260040160206040518083038186803b15801561284757600080fd5b505afa15801561285b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061287f9190810190615418565b60735490915060ff161561289257600080fd5b6073805460ff19166001179055606854604051600160e01b632ea779170281526000916001600160a01b036101009091041690632ea77917906128d9908890600401615d0b565b60206040518083038186803b1580156128f157600080fd5b505afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129299190810190615418565b90506001600160a01b03811615612b0057836001600160a01b031663f5537ede838a6129548b612362565b6040518463ffffffff1660e01b815260040161297293929190615a7b565b602060405180830381600087803b15801561298c57600080fd5b505af11580156129a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129c49190810190615501565b15612b00576129dc82896129d78a612362565b614d17565b506129e8818784614e1a565b6001600160a01b038083166000908152606f60209081526040808320888516808552818452918420600481018054600181018255908652848620018054968f166001600160a01b0319909716969096179095559252526003810154612a509060801b89613f02565b6001600160a01b038481166000908152606f60209081526040808320938a1683529290522060030180546001600160801b03191660809290921c91909117905542612aa08a858b8b8b868c614ea2565b896001600160a01b03167f4a4fcb3c9b6849f5cb3825d707d3fce0c615b52367c65422a3ad74816ab3275387606d54612ad88d612362565b8b612ae28e612362565b87604051612af596959493929190615abe565b60405180910390a250505b50506073805460ff19169055505050505050565b6068805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600082600160991b6c2a37b5b2b72a3930b739b332b902141561365a576000612b7187612362565b6001600160a01b03808816600090815260706020908152604080832093881683529290522060030154612ba69060801b612362565b14156131f7576001600160a01b03808716600090815260706020908152604080832093871683529290522060020154607454612be29190614f39565b42106131f2576001600160a01b03808716600090815260706020908152604080832093871683529290529081206004018054612ce691612c69918b91606f918691908290612c2c57fe5b60009182526020808320909101546001600160a01b0390811684528382019490945260409283018220938b1682529290925290205460801b614f49565b6001600160a01b03808a166000908152607060209081526040808320938a1683529290529081206004018054606f9291908290612ca257fe5b60009182526020808320909101546001600160a01b0390811684528382019490945260409283018220938a16825292909252902054600160801b900460801b614a27565b60735490915060ff1615612cf957600080fd5b6073805460ff19166001179055612d148161108460006106e5565b60000b600114156131e3576001600160a01b03808816600090815260706020908152604080832093881683529290529081206004018054606f9183918290612d5857fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301822089851683529052818120600101546068549251600160e01b632ea77917028152909450909261010090920490911690632ea7791790612dc4908590600401615d0b565b60206040518083038186803b158015612ddc57600080fd5b505afa158015612df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e149190810190615418565b905081600160d91b6432ba3432b9021415612e3857612e3389846151ee565b612e43565b612e4381848b614e1a565b604051600160e01b63f16725910281526001600160a01b0387169063f167259190612e72908d90600401615b83565b600060405180830381600087803b158015612e8c57600080fd5b505af1158015612ea0573d6000803e3d6000fd5b5050600054612eb5925060801b90508b613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b03871690634c09928790612f00908c908e90600401615aa3565b600060405180830381600087803b158015612f1a57600080fd5b505af1158015612f2e573d6000803e3d6000fd5b5050506001600160a01b038a16600090815260016020526040902054612f58915060801b8b613ef4565b6001600160a01b038a16600081815260016020526040902080546001600160801b03191660809390931c929092179091557f7684b39e31475e1a38b6e3a751004b3ecccbd7d0e1d54d9f43e8e7f1e4e7cb0d87612fb48d612362565b8b612fbe88612362565b87604051612fd0959493929190615b18565b60405180910390a26001600160a01b03808a166000908152607060209081526040808320938a1683529290529081206004018054829061300c57fe5b60009182526020822001546001600160a01b031691505b6001600160a01b038083166000908152606f60209081526040808320938c1683529290522060040154811015613184576001600160a01b038281166000908152606f602090815260408083208c8516845290915290206004018054918d16918390811061308c57fe5b6000918252602090912001546001600160a01b0316141561317c576001600160a01b038083166000908152606f60209081526040808320938c168352929052206004018054829081106130db57fe5b600091825260208083209190910180546001600160a01b03191690556001600160a01b038481168352606f82526040808420918c16845291529020805460039091015461313e91608090811b91611deb916131389184911b614f49565b8f614a27565b6001600160a01b038381166000908152606f60209081526040808320938d1683529290522080546001600160801b03191660809290921c9190911790555b600101613023565b506001600160a01b03808b166000908152607060209081526040808320938b16835292905290812081815560018101829055600281018290556003810180546001600160801b0319169055906131dd60048301826152aa565b50505050505b50506073805460ff1916905560015b613653565b6001600160a01b038681166000908152606f60209081526040808320938716835292905220805460039091015461323e9161323891608091821b911b613ef4565b886123fb565b60000b6136535760735460ff161561325557600080fd5b6073805460ff191660019081179091556001600160a01b038781166000908152606f6020908152604080832093881683529290529081209182015491546132d9906132a4908b9060801b614f49565b6001600160a01b03808b166000908152606f60209081526040808320938b1683529290522054600160801b900460801b614a27565b905081600160d91b6432ba3432b90214156132fd576132f888826151ee565b613395565b606854604051600160e01b632ea7791702815260009161010090046001600160a01b031690632ea7791790613336908690600401615d0b565b60206040518083038186803b15801561334e57600080fd5b505afa158015613362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133869190810190615418565b905061339381838b614e1a565b505b6001600160a01b038881166000908152606f6020908152604080832093891683529290522080546003909101546133e291608090811b91611deb916133dc9184911b614f49565b8c614a27565b6001600160a01b038981166000908152606f60209081526040808320938a16808452939091529081902080546001600160801b03191660809490941c939093179092559051600160e01b63f167259102815263f167259190613448908c90600401615b83565b600060405180830381600087803b15801561346257600080fd5b505af1158015613476573d6000803e3d6000fd5b505060005461348b925060801b90508a613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b03861690634c099287906134d6908b908d90600401615aa3565b600060405180830381600087803b1580156134f057600080fd5b505af1158015613504573d6000803e3d6000fd5b5050506001600160a01b03891660009081526001602052604090205461352e915060801b8a613ef4565b6001600160a01b038916600081815260016020526040902080546001600160801b03191660809390931c929092179091557f2d19a99480f5a3ef68b4447c6cca94ffc19c61d91a3baa80d015f30cfb2b46ac8661358a8c612362565b8a61359486612362565b876040516135a6959493929190615b18565b60405180910390a26001600160a01b038089166000908152606f60209081526040808320938916835292905220546135e19060801b8a6123fb565b60000b613643576001600160a01b038089166000908152606f60209081526040808320938916835292905290812081815560018101829055600281018290556003810180546001600160801b03191690559061364060048301826152aa565b50505b50506073805460ff191690555060015b9050611516565b82600160a11b6b21b0b9b42a3930b739b332b9021415611516576001600160a01b038086166000908152606f60209081526040808320938616835292905290812060020154607454829182916136b09190614f39565b4210613cf357606854604051600160e01b632ea779170281526101009091046001600160a01b031690632ea77917906136ed908a90600401615d0b565b60206040518083038186803b15801561370557600080fd5b505afa158015613719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061373d9190810190615418565b6001600160a01b03808a166000908152606f60209081526040808320938a16835292905220549093506137729060801b612362565b61377b8a612362565b1415613cf35760005b6001600160a01b03808a166000908152606f60209081526040808320938a1683529290522060040154811015613b27576001600160a01b03808a166000908152606f60209081526040808320938a1683529290529081206004018054839081106137ea57fe5b9060005260206000200160009054906101000a90046001600160a01b0316905060006138c660706000846001600160a01b03166001600160a01b0316815260200190815260200160002060008a6001600160a01b03166001600160a01b0316815260200190815260200160002060030160009054906101000a900460801b606f60008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008b6001600160a01b03166001600160a01b0316815260200190815260200160002060000160009054906101000a900460801b614f49565b6001600160a01b03808d166000908152606f60209081526040808320938d168352929052908120549192509061390090839060801b614a27565b60735490915060ff161561391357600080fd5b6073805460ff191660011790556001600160a01b0387161580159061394857506139418161108460006106e5565b60000b6001145b15613ab157613958878285614e1a565b6139628582613f02565b604051600160e01b63f16725910281529095506001600160a01b038a169063f167259190613994908490600401615b83565b600060405180830381600087803b1580156139ae57600080fd5b505af11580156139c2573d6000803e3d6000fd5b50506000546139d7925060801b905082613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b038a1690634c09928790613a229086908590600401615aa3565b600060405180830381600087803b158015613a3c57600080fd5b505af1158015613a50573d6000803e3d6000fd5b5050506001600160a01b038416600090815260016020526040902054613a7a915060801b82613ef4565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c9290921790915595505b6073805460ff191690558515613b1c576001600160a01b038084166000908152607060209081526040808320938d16835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613b1960048301826152aa565b50505b505050600101613784565b8215613cf1576001600160a01b03808a166000908152606f60209081526040808320938a16835292905290812060030154613b6690849060801b614f49565b6001600160a01b03808c166000908152606f60209081526040808320938c1683529290529081205491925090613ba690600160801b900460801b83614a27565b6001600160a01b03808d166000908152606f60209081526040808320938d1683529290522060010154909150600160d91b6432ba3432b902811415613bf457613bef8c836151ee565b613bff565b613bff87838e614e1a565b6001600160a01b03808d166000908152606f60209081526040808320938d168352929052206004015460001901841415613c8e576001600160a01b03808d166000908152606f60209081526040808320938d16835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613c8b60048301826152aa565b50505b6000613c998e612362565b90508c6001600160a01b03167f2d19a99480f5a3ef68b4447c6cca94ffc19c61d91a3baa80d015f30cfb2b46ac8b838f613cd288612362565b87604051613ce4959493929190615b18565b60405180910390a2505050505b505b5091506115169050565b6000613d0a848484614d17565b156108ac57604051600160e11b637aa9bf6f0281526001600160a01b0386169063f5537ede90613d4290879087908790600401615a7b565b602060405180830381600087803b158015613d5c57600080fd5b505af1158015613d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d949190810190615501565b156108ac576001600160a01b0380851660009081526070602081815260408084208a86168086529083528185209589168552928252808420928452919052902081548154608091821b821c6001600160801b0319918216178084558454600160801b90819004841b841c026001600160801b03919091161783556001808501549084015560028085015490840155600380850154908401805491841b90931c911617905560048083018054613e4c92840191906152c8565b5050506001600160a01b038085166000908152607060209081526040808320938916835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613ea760048301826152aa565b505060019050610e67565b6068805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b303b1590565b3390565b60006123f483600160ff1b84185b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415613f785780617fff1415613f6e576001600160801b03198581169085161415613f5b5784925050506116e4565b50600160ef1b61ffff0291506116e49050565b84925050506116e4565b80617fff1415613f8c5783925050506116e4565b6001607f1b608086901c6001600160801b0381169190911015906001600160701b031683613fbd5760019350613fc4565b600160701b175b6001607f1b608087901c6001600160801b0381169190911015906001600160701b031684613ff55760019450613ffc565b600160701b175b8261402c576001600160801b03198816600160ff1b1461401c578761401f565b60005b96505050505050506116e4565b8061404c576001600160801b03198916600160ff1b1461401c578861401f565b848603841515831515141561417257607081131561407357899750505050505050506116e4565b6000811315614092578082600082121561408957fe5b901c91506140cc565b606f198112156140ab57889750505050505050506116e4565b60008112156140cc57806000038460008212156140c457fe5b901c93508596505b92810192600160711b84106140e7576001968701969390931c925b86617fff141561411c578461410457600160f01b617fff0261410e565b6001600160f01b03195b9750505050505050506116e4565b600160701b841015614131576000965061413e565b6001600160701b03841693505b83607088901b86614150576000614156565b6001607f1b5b6001600160801b0316171760801b9750505050505050506116e4565b600081131561418d57600184901b93506001870396506141a4565b60008112156141a457600182901b91506001860396505b60708113156141b65760019150614219565b60018113156141de57600181036001830360008212156141d257fe5b901c6001019150614219565b606f198112156141f15760019350614219565b600019811215614219576001816000030360018503600082121561421157fe5b901c60010193505b81841061422a578184039350614233565b83820393508294505b836142495750600096506116e495505050505050565b600061425485612124565b9050806071141561427a57600185901c6001600160701b031694506001880197506142c9565b60708110156142bc576070819003808911156142a9578086901b6001600160701b0316955080890398506142b6565b600098600019019590951b945b506142c9565b6001600160701b03851694505b87617fff14156142ff57856142e657600160f01b617fff026142f0565b6001600160f01b03195b985050505050505050506116e4565b84607089901b87614311576000614317565b6001607f1b5b6001600160801b0316171760801b985050505050505050506116e4565b6001600160a01b03811661435d57604051600160e51b62461bcd02815260040161171190615cfb565b6035546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603580546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160801b031986166143cf57600080fd5b604051600160e01b63a1c348810281526001600160a01b0384169063a1c34881906144009089908990600401615b91565b602060405180830381600087803b15801561441a57600080fd5b505af115801561442e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144529190810190615501565b61445e57506000611516565b606d54841461481757606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e647906144bc908a908790600590600401615c4c565b60006040518083038186803b1580156144d457600080fd5b505af41580156144e8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526145109190810190615651565b606d546040516020016145249291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b825261454f913090600401615ccb565b602060405180830381600087803b15801561456957600080fd5b505af115801561457d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145a1919081019061555f565b606a54604051600160e01b63f921e6470281529192506000916001600160a01b039091169063274200639073__stringutils___________________________9063f921e647906145fb908b908790600590600401615c4c565b60006040518083038186803b15801561461357600080fd5b505af4158015614627573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261464f9190810190615651565b606d546040516020016146639291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b825261468e913090600401615cac565b602060405180830381600087803b1580156146a857600080fd5b505af11580156146bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506146e0919081019061555f565b606a54604051600160e21b6313f493a70281529192506001600160a01b031690634fd24e9c906147169085908590600401615c31565b600060405180830381600087803b15801561473057600080fd5b505af1158015614744573d6000803e3d6000fd5b5050506000828152607260205260408120600160c01b6770757263686173650281556004810180546001600160a01b03808a166001600160a01b031992831617909255600583018054928d169290911691909117905560028101805460808d901c6001600160801b03199091161790556001810189905591506147c6906106e5565b6003820180546001600160801b03191660809290921c9190911790556147ed6127106106e5565b8160030160106101000a8154816001600160801b03021916908360801c0217905550505050614a1b565b606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e6479061486c908a908790600590600401615c4c565b60006040518083038186803b15801561488457600080fd5b505af4158015614898573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526148c09190810190615651565b6040516020016148d091906159e4565b60408051601f198184030181529082905263ffffffff831660e01b82526148fb913090600401615cac565b602060405180830381600087803b15801561491557600080fd5b505af1158015614929573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061494d919081019061555f565b6000818152607260205260409020600160c01b6770757263686173650281556004810180546001600160a01b038088166001600160a01b031992831617909255600583018054928b169290911691909117905560028101805460808b901c6001600160801b03199091161790556001808201889055919250906149cf906106e5565b6003820180546001600160801b03191660809290921c9190911790556149f66127106106e5565b8160030160106101000a8154816001600160801b03021916908360801c021790555050505b50600195945050505050565b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415614adf5780617fff1415614aaa576001600160801b03198581169085161415614a8757505050600160ff1b811682186116e4565b600160ff1b6001600160801b0319868618161415613f5b575050508181176116e4565b600160801b600160ff1b038416614ace5750600160ef1b61ffff0291506116e49050565b505050600160ff1b811682186116e4565b80617fff1415614b1e57600160801b600160ff1b038516614b0d5750600160ef1b61ffff0291506116e49050565b505050600160ff1b821681186116e4565b6001600160701b03608086901c1682614b3a5760019250614b41565b600160701b175b6001600160701b03608086901c1682614b5d5760019250614b64565b600160701b175b9081029081614b9157600160ff1b87871816614b815760006124f8565b600160ff1b9450505050506116e4565b928201926000600160e11b831015614bc557600160e01b831015614bbd57614bb883612124565b614bc0565b60e05b614bc8565b60e15b90506140708186011015614be3576000945060009250614c80565b6140e08186011015614c2657614070851015614c0857846140700383901c9250614c1d565b614070851115614c1d57614070850383901b92505b60009450614c80565b61c0dd8186011115614c4057617fff945060009250614c80565b6070811115614c57576070810383901c9250614c6a565b6070811015614c6a578060700383901b92505b6001600160701b03831692506140df8186010394505b82607086901b888a186001607f1b60801b1660801c6001600160801b0316171760801b955050505050506116e4565b6001600160a01b039586166000908152606f6020908152604080832093909816825291909152949094208054608093841c600160801b029490931c6001600160801b0319909316929092176001600160801b0316929092178155600181019190915560020155565b6000614d46614d25836106e5565b6001600160a01b03861660009081526001602052604090205460801b6123fb565b60000b6000191480614d645750614d5f614d25836106e5565b60000b155b15614e10576001600160a01b038416600090815260016020526040902054614d929060801b611deb846106e5565b6001600160a01b0385811660009081526001602052604080822080546001600160801b031916608095861c17905591861681522054614dd5911b611e31846106e5565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c9290921790915590506123f4565b5060009392505050565b604051600160e51b623f7fb90281526001600160a01b038416906307eff72090614e4a9085908590600401615b91565b602060405180830381600087803b158015614e6457600080fd5b505af1158015614e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614e9c919081019061551f565b50505050565b6001600160a01b039687166000908152607060209081526040808320938a168352928152918120600481018054600180820183559184529390922090920180546001600160a01b03191697909816969096179096556003860180546001600160801b031916608095861c17905585546001600160801b0316600160801b9390941c9290920292909217845591830155600290910155565b818101828110156116e457600080fd5b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415614f965780617fff1415614ace5750600160ef1b61ffff0291506116e49050565b80617fff1415614fd657600160801b600160f01b03841615614fc55750600160ef1b61ffff0291506116e49050565b505050808218600160ff1b166116e4565b600160801b600160ff1b03841661502657600160801b600160ff1b03851661500b5750600160ef1b61ffff0291506116e49050565b505050808218600160ff1b16600160f01b617fff02176116e4565b6001600160701b03608085901c16816150425760019150615049565b600160701b175b6001600160701b03608087901c168361508857801561508357600061506d82612124565b6001955060e20393840160711901939190911b90505b615092565b600160701b1760721b5b81818161509b57fe5b049050806150b757600160ff1b87871816614b815760006124f8565b6001606c1b8110156150c557fe5b6000600160731b82101561510557600160721b8210156150fa57600160711b8210156150f25760706150f5565b60715b6150fd565b60725b60ff1661510e565b61510e82612124565b90508361407101818601111561512c57617fff9450600091506151bf565b83818601613ffc0110156151475760009450600091506151bf565b83818601613f8c011015615194578385613ffc011115615172578385613ffc010382901b915061518b565b8385613ffc01101561518b57613ffc8585030382901c91505b600094506151bf565b60708111156151a7576070810382901c91505b6001600160701b038216915083818601613f8d010394505b81607086901b888a186001607f1b60801b1660801c6001600160801b0316171760801b955050505050506116e4565b816001600160a01b03166108fc61520483612362565b6040518115909202916000818181858888f19350505050158015611418573d6000803e3d6000fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061526d57805160ff191683800117855561529a565b8280016001018555821561529a579182015b8281111561529a57825182559160200191906001019061527f565b506152a6929150615314565b5090565b5080546000825590600052602060002090810190611fa79190615314565b8280548282559060005260206000209081019282156153085760005260206000209182015b828111156153085782548255916001019190600101906152ed565b506152a692915061532e565b610f1091905b808211156152a6576000815560010161531a565b610f1091905b808211156152a65780546001600160a01b0319168155600101615334565b60006123f48235615e22565b60006123f48251615e22565b60006123f48251615e2d565b60006123f48235615e32565b60006123f48251615e32565b60006123f48235610f10565b60006123f48251610f10565b600082601f8301126153b757600080fd5b81516153ca6153c582615de7565b615dc0565b915080825260208301602083018583830111156153e657600080fd5b6153f1838284615e72565b50505092915050565b60006020828403121561540c57600080fd5b6000610e678484615352565b60006020828403121561542a57600080fd5b6000610e67848461535e565b6000806040838503121561544957600080fd5b60006154558585615352565b925050602061546685828601615352565b9150509250929050565b6000806000806080858703121561548657600080fd5b60006154928787615352565b94505060206154a387828801615352565b93505060406154b48782880161538e565b92505060606154c587828801615352565b91505092959194509250565b600080604083850312156154e457600080fd5b60006154f08585615352565b92505060206154668582860161538e565b60006020828403121561551357600080fd5b6000610e67848461536a565b60006020828403121561553157600080fd5b6000610e678484615382565b6000806000806080858703121561555357600080fd5b60006154928787615376565b60006020828403121561557157600080fd5b6000610e67848461539a565b60008060006060848603121561559257600080fd5b600061559e868661538e565b93505060206155af86828701615376565b92505060406155c08682870161538e565b9150509250925092565b60008060008060008060c087890312156155e357600080fd5b60006155ef898961538e565b965050602061560089828a0161538e565b955050604061561189828a01615352565b945050606061562289828a01615352565b935050608061563389828a01615352565b92505060a061564489828a01615352565b9150509295509295509295565b60006020828403121561566357600080fd5b815167ffffffffffffffff81111561567a57600080fd5b610e67848285016153a6565b60006020828403121561569857600080fd5b6000610e67848461538e565b60006156b083836156c7565b505060200190565b6156c181615e51565b82525050565b6156c181615e22565b6156c16156dc82615e22565b615e9e565b60006156ec82615e15565b6156f68185615e19565b935061570183615e0f565b60005b8281101561572c576157178683516156a4565b955061572282615e0f565b9150600101615704565b5093949350505050565b6156c181615e2d565b6156c181615e32565b6156c181610f10565b6156c161575d82610f10565b610f10565b600061576d82615e15565b6157778185615e19565b9350615787818560208601615e72565b61579081615eaf565b9093019392505050565b6156c181615e5c565b60006157ae82615e15565b6157b881856106e0565b93506157c8818560208601615e72565b9290920192915050565b600160e21b63109bdb99029052565b60006157ee602683615e19565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20618152600160d01b6564647265737302602082015260400192915050565b600160e91b623b32b9029052565b600160cb1b660acd2c286c2e6d029052565b600160ca1b66115d1a109bdb99029052565b600061586b600383615e19565b600160eb1b620cae8d02815260200192915050565b600160d21b65195d1a1d5cd9029052565b600061589e6009836106e0565b600160b81b6856585553445f746f5f02815260090192915050565b600160f11b6134b9029052565b600160f11b6132b9029052565b60006158e0602083615e19565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000615919602e83615e19565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b60006159786004836106e0565b600160e01b635f746f5f02815260040192915050565b600160c81b6669737375696e67029052565b6156c181615e4b565b60006159b582856156d0565b6014820191506159c58284615751565b5060200192915050565b60006159db8284615751565b50602001919050565b60006123f482846157a3565b60006159fc82856157a3565b9150615a078261596b565b91506159c58284615751565b6000615a1e82615891565b91506159db8284615751565b602081016116e482846156c7565b602081016116e482846156b8565b60808101615a5482876156c7565b615a6160208301866156c7565b615a6e6040830185615748565b6115166060830184615748565b60608101615a8982866156c7565b615a9660208301856156c7565b610e676040830184615748565b60408101615ab182856156c7565b6123f4602083018461573f565b60c08101615acc82896156c7565b615ad96020830188615748565b615ae66040830187615748565b615af36060830186615748565b615b006080830185615748565b615b0d60a0830184615748565b979650505050505050565b60a08101615b2682886156c7565b615b336020830187615748565b615b406040830186615748565b615b4d6060830185615748565b615b5a6080830184615748565b9695505050505050565b602080825281016123f481846156e1565b602081016116e48284615736565b602081016116e4828461573f565b60408101615b9f828561573f565b6123f460208301846156c7565b60a08101615bba828861573f565b615bc7602083018761573f565b615bd46040830186615748565b615be16060830185615748565b615b5a608083018461573f565b602081016116e48284615748565b60a08101615c0a8288615748565b615c17602083018761573f565b615c246040830186615748565b615be1606083018561573f565b60408101615c3f8285615748565b6123f46020830184615748565b60608101615c5a8286615748565b615c67602083018561579a565b610e67604083018461579a565b60808082528101615c858185615762565b9050615c936020830161582c565b615c9f604083016157d2565b6123f460608301846156c7565b60808082528101615cbd8185615762565b9050615c93602083016158b9565b60808082528101615cdc8185615762565b9050615c93602083016158c6565b602080825281016123f48184615762565b602080825281016116e4816157e1565b60408101615d188261583a565b6116e46020830184615748565b60808082528101615d358161585e565b9050615d4360208301615880565b615d4f6040830161584c565b6116e460608301846156c7565b602080825281016116e4816158d3565b602080825281016116e48161590c565b602081016106e08261598e565b60808101615d978287615748565b615a616020830186615748565b60a08101615b268288615748565b602081016116e482846159a0565b60405181810167ffffffffffffffff81118282101715615ddf57600080fd5b604052919050565b600067ffffffffffffffff821115615dfe57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006116e482615e3f565b151590565b6001600160801b03191690565b6001600160a01b031690565b60ff1690565b60006116e482615e67565b60006116e482610f10565b60006116e482615e22565b60005b83811015615e8d578181015183820152602001615e75565b83811115614e9c5750506000910152565b60006116e48260006116e482615eb9565b601f01601f191690565b60601b9056fea265627a7a72305820911d7f492ebe7b894babe32730cff1a3f23e19567da2f6d620b8942f81037e366c6578706572696d656e74616cf50037",
|
|
792
|
-
"deployedBytecode": "0x6080604052600436106101b75760003560e01c80638456cb59116100ec57806395d89b411161008a578063c4d66de811610064578063c4d66de814610529578063d478b27414610549578063f2fde38b14610569578063f6fd5c7914610589576101b7565b806395d89b41146104df578063a9059cbb146104f4578063b187bd2614610514576101b7565b80638b140f6b116100c65780638b140f6b146104555780638da5cb5b146104775780638f32d59b146104995780638fba9c7c146104ae576101b7565b80638456cb591461040b578063887b6abc1461042057806389d29c4c14610435576101b7565b80633f4ba83a1161015957806370a082311161013357806370a0823114610396578063715018a6146103b657806379537570146103cb57806381ca86fe146103eb576101b7565b80633f4ba83a14610331578063410a6c7d146103465780636b98f83514610376576101b7565b806327e235e31161019557806327e235e3146102845780632c5fc01d146102b1578063313ce567146102de57806339baf48014610300576101b7565b806306fdde031461021557806318160ddd1461024057806321f68b4e14610262575b346101c157600080fd5b36156101cc57600080fd5b60685460ff16156101dc57600080fd5b6101e5336105a9565b15156001146101f357600080fd5b6102126101ff346106e5565b33600160d91b6432ba3432b9023061074a565b50005b34801561022157600080fd5b5061022a610e6f565b6040516102379190615cea565b60405180910390f35b34801561024c57600080fd5b50610255610efd565b6040516102379190615bee565b34801561026e57600080fd5b5061028261027d36600461557d565b610f13565b005b34801561029057600080fd5b506102a461029f3660046153fa565b61141d565b6040516102379190615b83565b3480156102bd57600080fd5b506102d16102cc36600461553d565b611432565b6040516102379190615b75565b3480156102ea57600080fd5b506102f361151f565b6040516102379190615db2565b34801561030c57600080fd5b5061032061031b366004615436565b611524565b604051610237959493929190615bac565b34801561033d57600080fd5b50610282611566565b34801561035257600080fd5b50610366610361366004615436565b6115c6565b6040516102379493929190615d89565b34801561038257600080fd5b50610320610391366004615436565b61167d565b3480156103a257600080fd5b506102556103b13660046153fa565b6116bf565b3480156103c257600080fd5b506102826116ea565b3480156103d757600080fd5b506102d16103e636600461553d565b611764565b3480156103f757600080fd5b506102d1610406366004615470565b611865565b34801561041757600080fd5b50610282611955565b34801561042c57600080fd5b506102556119b1565b34801561044157600080fd5b506102826104503660046155ca565b6119b7565b34801561046157600080fd5b5061046a611b9c565b6040516102379190615b64565b34801561048357600080fd5b5061048c611bfe565b6040516102379190615a2a565b3480156104a557600080fd5b506102d1611c0d565b3480156104ba57600080fd5b506104ce6104c9366004615436565b611c33565b604051610237959493929190615da4565b3480156104eb57600080fd5b5061022a611d23565b34801561050057600080fd5b506102d161050f3660046154d1565b611d7e565b34801561052057600080fd5b506102d1611e72565b34801561053557600080fd5b506102826105443660046153fa565b611e7b565b34801561055557600080fd5b5061048c610564366004615686565b611f50565b34801561057557600080fd5b506102826105843660046153fa565b611f77565b34801561059557600080fd5b506102d16105a436600461553d565b611faa565b600080606860019054906101000a90046001600160a01b03166001600160a01b03166359dc735c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105fa57600080fd5b505afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106329190810190615418565b90506001600160a01b03811661064c5760019150506106e0565b604051600160e01b633a2910330281526001600160a01b03821690633a2910339061067b908690600401615a2a565b60206040518083038186803b15801561069357600080fd5b505afa1580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106cb9190810190615501565b156106da5760019150506106e0565b60009150505b919050565b6000816106f4575060006106e0565b81600061070082612124565b90506070811015610719578060700382901b915061072c565b607081111561072c576070810382901c91505b613fff0160701b6001600160701b03919091161760801b90506106e0565b60006001600160801b0319851661076057600080fd5b610769856121c7565b945082600160d91b6432ba3432b902146108b457606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906107b4908590600401615a2a565b60206040518083038186803b1580156107cc57600080fd5b505afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610804919081019061555f565b600160cb1b660acd2c286c2e6d0214156108ac57604051600160e01b63a1c348810281526001600160a01b0383169063a1c34881906108499088908890600401615b91565b602060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089b9190810190615501565b6108a757506000610e67565b6108b4565b506000610e67565b82600160d91b6432ba3432b9021415610c7757606d54600160da1b6415961554d10214610b2757606a54604051600160e01b63274200630281526000916001600160a01b03169063274200639061090f903090600401615d25565b602060405180830381600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610961919081019061555f565b606a54606d546040519293506000926001600160a01b039092169163274200639161098e91602001615a13565b60408051601f198184030181529082905263ffffffff831660e01b82526109b9913090600401615c74565b602060405180830381600087803b1580156109d357600080fd5b505af11580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a0b919081019061555f565b606a54604051600160e21b6313f493a70281529192506001600160a01b031690634fd24e9c90610a419085908590600401615c31565b600060405180830381600087803b158015610a5b57600080fd5b505af1158015610a6f573d6000803e3d6000fd5b5050506000828152607260205260408120600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b038b161790556002810180546001600160801b03191660808c901c179055600181018890559150610ad5906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610b0160006106e5565b60039190910180546001600160801b03191660809290921c91909117905550610c729050565b606d54600160da1b6415961554d1021415610c7257606a54604051600160e01b63274200630281526000916001600160a01b031690632742006390610b70903090600401615d25565b602060405180830381600087803b158015610b8a57600080fd5b505af1158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bc2919081019061555f565b6000818152607260205260408120600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b038a161790556002810180546001600160801b03191660808b901c17905560018101879055919250610c26906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610c5260016106e5565b60039190910180546001600160801b03191660809290921c919091179055505b610e63565b606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e64790610ccc9089908790600590600401615c4c565b60006040518083038186803b158015610ce457600080fd5b505af4158015610cf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d209190810190615651565b606d54604051602001610d349291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b8252610d5f913090600401615c74565b602060405180830381600087803b158015610d7957600080fd5b505af1158015610d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610db1919081019061555f565b6000818152607260205260409020600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b0389161790556002810180546001600160801b03191660808a901c179055600180820187905591925090610e17906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610e4360006106e5565b60039190910180546001600160801b03191660809290921c919091179055505b5060015b949350505050565b606b805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b820191906000526020600020905b815481529060010190602001808311610ed857829003601f168201915b505050505081565b60008054610f0d9060801b612362565b90505b90565b606a546001600160a01b03163314610f2a57600080fd5b80600160d21b65195d1a1d5cd9021415610f6957600083815260726020526040902060020180546001600160801b0316600160801b608085901c021790555b80600160f11b6134b9021415610fa457600083815260726020526040902060030180546001600160801b0316600160801b608085901c021790555b80600160f11b6132b9021415610fda57600083815260726020526040902060030180546001600160801b031916608084901c1790555b80600160e91b623b32b902141561101157600083815260726020526040902060030180546001600160801b031916608084901c1790555b600083815260726020526040902054600160d81b6469737375650214156112165780600160d21b65195d1a1d5cd9021480611054575080600160e91b623b32b902145b156112115760008381526072602052604081206002015461108991600160801b90910460801b90611084906106e5565b6123fb565b60000b158015906110c157506000838152607260205260408120600301546110bb9160809190911b90611084906106e5565b60000b15155b1561121157606d54600084815260726020526040808220600281015460018201546003909201549251600160e21b631e61f511028152939473__paymentutils__________________________94637987d44494611138949293608081811b9493600160801b909204811b92901b90600401615bfc565b60206040518083038186803b15801561115057600080fd5b505af4158015611164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611188919081019061551f565b6000858152607260205260409020600581015460028201546001909201549293506111c7926001600160a01b0390911691849160809190911b90612544565b506000838152607260205260408120818155600181018290556002810182905560038101919091556004810180546001600160a01b03199081169091556005909101805490911690555b611418565b600083815260726020526040902054600160c01b6770757263686173650214156114185780600160f11b6132b9021480611257575080600160f11b6134b902145b15611418576000838152607260205260408120600301546112829160809190911b90611084906106e5565b60000b158015906112bf57506000838152607260205260408120600301546112b991600160801b90910460801b90611084906106e5565b60000b15155b1561141857606d54600084815260726020526040808220600281015460018201546003909201549251600160e11b634dd1211f028152939473__paymentutils__________________________94639ba2423e94611337949293608090811b939282821b92600160801b900490911b90600401615bfc565b60206040518083038186803b15801561134f57600080fd5b505af4158015611363573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611387919081019061551f565b60008581526072602052604090206005810154600282015460018301546004909301549394506113ce936001600160a01b0392831693869360809390931b92909116612807565b506000838152607260205260408120818155600181018290556002810182905560038101919091556004810180546001600160a01b03199081169091556005909101805490911690555b505050565b60016020526000908152604090205460801b81565b60685460009060ff161561144557600080fd5b82606d54141561145457600080fd5b61145d846105a9565b151560011461146b57600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906114a2903390600401615a38565b60206040518083038186803b1580156114ba57600080fd5b505afa1580156114ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f2919081019061555f565b600160cb1b660acd2c286c2e6d021461150a57600080fd5b6115168585858561074a565b95945050505050565b600290565b606f6020908152600092835260408084209091529082529020805460018201546002830154600390930154608083811b94600160801b909404811b9391901b85565b606854339061010090046001600160a01b0316611581611bfe565b6001600160a01b0316826001600160a01b031614806115b15750806001600160a01b0316826001600160a01b0316145b6115ba57600080fd5b6115c2612b14565b5050565b6001600160a01b038083166000908152606f602090815260408083209385168352929052908120600301548190819081906116039060801b612362565b6001600160a01b038088166000908152606f60209081526040808320938a168352929052205461163c90600160801b900460801b612362565b6001600160a01b039788166000908152606f6020908152604080832099909a1682529790975296909520600181015460029091015495979095945092505050565b60706020908152600092835260408084209091529082529020805460018201546002830154600390930154608083811b94600160801b909404811b9391901b85565b6001600160a01b0381166000908152600160205260408120546116e49060801b612362565b92915050565b6116f2611c0d565b61171a57604051600160e51b62461bcd02815260040161171190615d5c565b60405180910390fd5b6035546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603580546001600160a01b0319169055565b60685460009060ff161561177757600080fd5b611780846105a9565b151560011461178e57600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906117c5903390600401615a38565b60206040518083038186803b1580156117dd57600080fd5b505afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611815919081019061555f565b600160a11b6b2b34b0a137b7322a37b5b2b7021461183257600080fd5b611851858585600160a11b6b21b0b9b42a3930b739b332b90286612b49565b61185d57506000610e67565b506001610e67565b60685460009060ff161561187857600080fd5b611881856105a9565b151560011461188f57600080fd5b611898846105a9565b15156001146118a657600080fd5b6001600160a01b03841630148015906118d05750816001600160a01b0316846001600160a01b0316145b1561190c576118ff6118e1846106e5565b86606d54600160991b6c2a37b5b2b72a3930b739b332b90286612b49565b156108ac57506001610e67565b6001600160a01b0380861660009081526070602090815260408083209386168352929052206003015483906119439060801b612362565b14156108ac576118ff82868686613cfd565b606854339061010090046001600160a01b0316611970611bfe565b6001600160a01b0316826001600160a01b031614806119a05750806001600160a01b0316826001600160a01b0316145b6119a957600080fd5b6115c2613eb2565b606d5481565b600254610100900460ff16806119d057506119d0613eea565b806119de575060025460ff16155b6119fd57604051600160e51b62461bcd02815260040161171190615d6c565b600254610100900460ff16158015611a28576002805460ff1961ff0019909116610100171660011790555b611a3185611e7b565b60688054610100600160a81b0319163361010002179055606a80546001600160a01b0319166001600160a01b038616179055604051611a749088906020016159cf565b604051602081830303815290604052606b9080519060200190611a9892919061522c565b50604051600160e01b63f921e64702815273__stringutils___________________________9063f921e64790611ad9908a90600090600590600401615c4c565b60006040518083038186803b158015611af157600080fd5b505af4158015611b05573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b2d9190810190615651565b8051611b4191606c9160209091019061522c565b50606d869055606e80546001600160a01b038086166001600160a01b03199283161790925560698054928516929091169190911790556073805460ff191690558015611b93576002805461ff00191690555b50505050505050565b60606071805480602002602001604051908101604052809291908181526020018280548015611bf457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611bd6575b5050505050905090565b6035546001600160a01b031690565b6035546000906001600160a01b0316611c24613ef0565b6001600160a01b031614905090565b6001600160a01b038083166000908152606f602090815260408083209385168352929052908120548190819081908190611c6f9060801b612362565b6001600160a01b038089166000908152606f60209081526040808320938b1683529290522060030154611ca49060801b612362565b6001600160a01b03808a166000908152606f60209081526040808320938c1683529290522054611cdd90600160801b900460801b612362565b6001600160a01b03998a166000908152606f602090815260408083209b909c16825299909952989097206001810154600290910154919997989790965090945092505050565b606c805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b6000611da4611d8c836106e5565b3060009081526001602052604090205460801b6123fb565b60000b6000191480611dc25750611dbd611d8c836106e5565b60000b155b611dcb57600080fd5b30600090815260016020526040902054611df09060801b611deb846106e5565b613ef4565b3060009081526001602052604080822080546001600160801b031916608094851c1790556001600160a01b0386168252902054611e36911b611e31846106e5565b613f02565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c92909217909155905092915050565b60685460ff1690565b600254610100900460ff1680611e945750611e94613eea565b80611ea2575060025460ff16155b611ec157604051600160e51b62461bcd02815260040161171190615d6c565b600254610100900460ff16158015611eec576002805460ff1961ff0019909116610100171660011790555b603580546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156115c2576002805461ff00191690555050565b60718181548110611f5d57fe5b6000918252602090912001546001600160a01b0316905081565b611f7f611c0d565b611f9e57604051600160e51b62461bcd02815260040161171190615d5c565b611fa781614334565b50565b60685460009060ff1615611fbd57600080fd5b611fc6846105a9565b1515600114611fd457600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b9061200b903390600401615a38565b60206040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061205b919081019061555f565b600160a11b6b2b34b0a137b7322a37b5b2b7021461207857600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906120af908590600401615a2a565b60206040518083038186803b1580156120c757600080fd5b505afa1580156120db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ff919081019061555f565b600160cb1b660acd2c286c2e6d021461211757600080fd5b61151685858585336143b9565b600080821161213257600080fd5b6000600160801b831061214757608092831c92015b68010000000000000000831061215f57604092831c92015b640100000000831061217357602092831c92015b62010000831061218557601092831c92015b610100831061219657600892831c92015b601083106121a657600492831c92015b600483106121b657600292831c92015b600283106116e45760010192915050565b606954604051600160e01b63e5f3d3a50281526000918291612254916001600160a01b03169063e5f3d3a5906121ff90600401615d7c565b60206040518083038186803b15801561221757600080fd5b505afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224f919081019061555f565b6106e5565b9050600061226182612362565b1561235a5760695460408051600160e11b637a55098102815290516000926001600160a01b03169163f4aa1302916004808301926020929190829003018186803b1580156122ae57600080fd5b505afa1580156122c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122e69190810190615418565b90506001600160a01b0381161561235857806001600160a01b03166108fc6123166123118689614a27565b612362565b6040518115909202916000818181858888f1935050505015801561233e573d6000803e3d6000fd5b5061234d85611deb8588614a27565b93506106e092505050565b505b509192915050565b6000617fff6001600160801b03608084901c1660701c16613fff81101561238d5760009150506106e0565b6001607f1b8360801c6001600160801b0316106123a957600080fd5b6140fe8111156123b857600080fd5b600160701b6001600160701b03608085901c161761406f8210156123e25761406f8290031c6123f4565b61406f8211156123f45761406e1982011b5b9392505050565b600060016001607f1b03608084901c16600160701b617fff0281111561242057600080fd5b60016001607f1b03608084901c16600160701b617fff0281111561244357600080fd5b6001600160801b031985811690851614158061246f5750600160701b617fff02826001600160801b0316105b61247857600080fd5b6001600160801b03198581169085161415612498576000925050506116e4565b60006001607f1b8660801c6001600160801b03161015905060006001607f1b8660801c6001600160801b03161015905081156125035780156124f457826001600160801b0316846001600160801b0316116124f45760016124f8565b6000195b9450505050506116e4565b80156125165760019450505050506116e4565b826001600160801b0316846001600160801b031611612537576000196124f8565b60019450505050506116e4565b606854606e54606d5460405142936000936001600160a01b03610100909204821693638d5040cc9391909216918a9161258390839089906020016159a9565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016125b89493929190615a46565b602060405180830381600087803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061260a9190810190615418565b604051600160e21b632926e29302815290915081906001600160a01b0382169063a49b8a4c90612640908a908a90600401615aa3565b600060405180830381600087803b15801561265a57600080fd5b505af115801561266e573d6000803e3d6000fd5b5050604051600160e01b63014153330281526001600160a01b0384169250630141533391506126a1908990600401615b83565b600060405180830381600087803b1580156126bb57600080fd5b505af11580156126cf573d6000803e3d6000fd5b50506000546126e4925060801b905087613f02565b600080546001600160801b031916608092831c1781556001600160a01b03891681526001602052604090205461271b911b87613f02565b6001600160a01b038881166000908152600160208190526040822080546001600160801b03191660809590951c9490941790935560718054938401815590527fa1fcd19bfe8c32a61095b6bfbb2664842857e148fcbb5188386c8cd40348d5b690910180546001600160a01b0319169184169190911790556127a1878787878787614caf565b866001600160a01b03167ff9e043edf72c472f6956335dea3cb1ca7150f556bca6cb2381be218f47a779f183606d546127d98a612362565b886127e38b612362565b896040516127f696959493929190615abe565b60405180910390a250505050505050565b60008190506000816001600160a01b031663525564216040518163ffffffff1660e01b815260040160206040518083038186803b15801561284757600080fd5b505afa15801561285b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061287f9190810190615418565b60735490915060ff161561289257600080fd5b6073805460ff19166001179055606854604051600160e01b632ea779170281526000916001600160a01b036101009091041690632ea77917906128d9908890600401615d0b565b60206040518083038186803b1580156128f157600080fd5b505afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129299190810190615418565b90506001600160a01b03811615612b0057836001600160a01b031663f5537ede838a6129548b612362565b6040518463ffffffff1660e01b815260040161297293929190615a7b565b602060405180830381600087803b15801561298c57600080fd5b505af11580156129a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129c49190810190615501565b15612b00576129dc82896129d78a612362565b614d17565b506129e8818784614e1a565b6001600160a01b038083166000908152606f60209081526040808320888516808552818452918420600481018054600181018255908652848620018054968f166001600160a01b0319909716969096179095559252526003810154612a509060801b89613f02565b6001600160a01b038481166000908152606f60209081526040808320938a1683529290522060030180546001600160801b03191660809290921c91909117905542612aa08a858b8b8b868c614ea2565b896001600160a01b03167f4a4fcb3c9b6849f5cb3825d707d3fce0c615b52367c65422a3ad74816ab3275387606d54612ad88d612362565b8b612ae28e612362565b87604051612af596959493929190615abe565b60405180910390a250505b50506073805460ff19169055505050505050565b6068805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600082600160991b6c2a37b5b2b72a3930b739b332b902141561365a576000612b7187612362565b6001600160a01b03808816600090815260706020908152604080832093881683529290522060030154612ba69060801b612362565b14156131f7576001600160a01b03808716600090815260706020908152604080832093871683529290522060020154607454612be29190614f39565b42106131f2576001600160a01b03808716600090815260706020908152604080832093871683529290529081206004018054612ce691612c69918b91606f918691908290612c2c57fe5b60009182526020808320909101546001600160a01b0390811684528382019490945260409283018220938b1682529290925290205460801b614f49565b6001600160a01b03808a166000908152607060209081526040808320938a1683529290529081206004018054606f9291908290612ca257fe5b60009182526020808320909101546001600160a01b0390811684528382019490945260409283018220938a16825292909252902054600160801b900460801b614a27565b60735490915060ff1615612cf957600080fd5b6073805460ff19166001179055612d148161108460006106e5565b60000b600114156131e3576001600160a01b03808816600090815260706020908152604080832093881683529290529081206004018054606f9183918290612d5857fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301822089851683529052818120600101546068549251600160e01b632ea77917028152909450909261010090920490911690632ea7791790612dc4908590600401615d0b565b60206040518083038186803b158015612ddc57600080fd5b505afa158015612df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e149190810190615418565b905081600160d91b6432ba3432b9021415612e3857612e3389846151ee565b612e43565b612e4381848b614e1a565b604051600160e01b63f16725910281526001600160a01b0387169063f167259190612e72908d90600401615b83565b600060405180830381600087803b158015612e8c57600080fd5b505af1158015612ea0573d6000803e3d6000fd5b5050600054612eb5925060801b90508b613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b03871690634c09928790612f00908c908e90600401615aa3565b600060405180830381600087803b158015612f1a57600080fd5b505af1158015612f2e573d6000803e3d6000fd5b5050506001600160a01b038a16600090815260016020526040902054612f58915060801b8b613ef4565b6001600160a01b038a16600081815260016020526040902080546001600160801b03191660809390931c929092179091557f7684b39e31475e1a38b6e3a751004b3ecccbd7d0e1d54d9f43e8e7f1e4e7cb0d87612fb48d612362565b8b612fbe88612362565b87604051612fd0959493929190615b18565b60405180910390a26001600160a01b03808a166000908152607060209081526040808320938a1683529290529081206004018054829061300c57fe5b60009182526020822001546001600160a01b031691505b6001600160a01b038083166000908152606f60209081526040808320938c1683529290522060040154811015613184576001600160a01b038281166000908152606f602090815260408083208c8516845290915290206004018054918d16918390811061308c57fe5b6000918252602090912001546001600160a01b0316141561317c576001600160a01b038083166000908152606f60209081526040808320938c168352929052206004018054829081106130db57fe5b600091825260208083209190910180546001600160a01b03191690556001600160a01b038481168352606f82526040808420918c16845291529020805460039091015461313e91608090811b91611deb916131389184911b614f49565b8f614a27565b6001600160a01b038381166000908152606f60209081526040808320938d1683529290522080546001600160801b03191660809290921c9190911790555b600101613023565b506001600160a01b03808b166000908152607060209081526040808320938b16835292905290812081815560018101829055600281018290556003810180546001600160801b0319169055906131dd60048301826152aa565b50505050505b50506073805460ff1916905560015b613653565b6001600160a01b038681166000908152606f60209081526040808320938716835292905220805460039091015461323e9161323891608091821b911b613ef4565b886123fb565b60000b6136535760735460ff161561325557600080fd5b6073805460ff191660019081179091556001600160a01b038781166000908152606f6020908152604080832093881683529290529081209182015491546132d9906132a4908b9060801b614f49565b6001600160a01b03808b166000908152606f60209081526040808320938b1683529290522054600160801b900460801b614a27565b905081600160d91b6432ba3432b90214156132fd576132f888826151ee565b613395565b606854604051600160e01b632ea7791702815260009161010090046001600160a01b031690632ea7791790613336908690600401615d0b565b60206040518083038186803b15801561334e57600080fd5b505afa158015613362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133869190810190615418565b905061339381838b614e1a565b505b6001600160a01b038881166000908152606f6020908152604080832093891683529290522080546003909101546133e291608090811b91611deb916133dc9184911b614f49565b8c614a27565b6001600160a01b038981166000908152606f60209081526040808320938a16808452939091529081902080546001600160801b03191660809490941c939093179092559051600160e01b63f167259102815263f167259190613448908c90600401615b83565b600060405180830381600087803b15801561346257600080fd5b505af1158015613476573d6000803e3d6000fd5b505060005461348b925060801b90508a613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b03861690634c099287906134d6908b908d90600401615aa3565b600060405180830381600087803b1580156134f057600080fd5b505af1158015613504573d6000803e3d6000fd5b5050506001600160a01b03891660009081526001602052604090205461352e915060801b8a613ef4565b6001600160a01b038916600081815260016020526040902080546001600160801b03191660809390931c929092179091557f2d19a99480f5a3ef68b4447c6cca94ffc19c61d91a3baa80d015f30cfb2b46ac8661358a8c612362565b8a61359486612362565b876040516135a6959493929190615b18565b60405180910390a26001600160a01b038089166000908152606f60209081526040808320938916835292905220546135e19060801b8a6123fb565b60000b613643576001600160a01b038089166000908152606f60209081526040808320938916835292905290812081815560018101829055600281018290556003810180546001600160801b03191690559061364060048301826152aa565b50505b50506073805460ff191690555060015b9050611516565b82600160a11b6b21b0b9b42a3930b739b332b9021415611516576001600160a01b038086166000908152606f60209081526040808320938616835292905290812060020154607454829182916136b09190614f39565b4210613cf357606854604051600160e01b632ea779170281526101009091046001600160a01b031690632ea77917906136ed908a90600401615d0b565b60206040518083038186803b15801561370557600080fd5b505afa158015613719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061373d9190810190615418565b6001600160a01b03808a166000908152606f60209081526040808320938a16835292905220549093506137729060801b612362565b61377b8a612362565b1415613cf35760005b6001600160a01b03808a166000908152606f60209081526040808320938a1683529290522060040154811015613b27576001600160a01b03808a166000908152606f60209081526040808320938a1683529290529081206004018054839081106137ea57fe5b9060005260206000200160009054906101000a90046001600160a01b0316905060006138c660706000846001600160a01b03166001600160a01b0316815260200190815260200160002060008a6001600160a01b03166001600160a01b0316815260200190815260200160002060030160009054906101000a900460801b606f60008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008b6001600160a01b03166001600160a01b0316815260200190815260200160002060000160009054906101000a900460801b614f49565b6001600160a01b03808d166000908152606f60209081526040808320938d168352929052908120549192509061390090839060801b614a27565b60735490915060ff161561391357600080fd5b6073805460ff191660011790556001600160a01b0387161580159061394857506139418161108460006106e5565b60000b6001145b15613ab157613958878285614e1a565b6139628582613f02565b604051600160e01b63f16725910281529095506001600160a01b038a169063f167259190613994908490600401615b83565b600060405180830381600087803b1580156139ae57600080fd5b505af11580156139c2573d6000803e3d6000fd5b50506000546139d7925060801b905082613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b038a1690634c09928790613a229086908590600401615aa3565b600060405180830381600087803b158015613a3c57600080fd5b505af1158015613a50573d6000803e3d6000fd5b5050506001600160a01b038416600090815260016020526040902054613a7a915060801b82613ef4565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c9290921790915595505b6073805460ff191690558515613b1c576001600160a01b038084166000908152607060209081526040808320938d16835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613b1960048301826152aa565b50505b505050600101613784565b8215613cf1576001600160a01b03808a166000908152606f60209081526040808320938a16835292905290812060030154613b6690849060801b614f49565b6001600160a01b03808c166000908152606f60209081526040808320938c1683529290529081205491925090613ba690600160801b900460801b83614a27565b6001600160a01b03808d166000908152606f60209081526040808320938d1683529290522060010154909150600160d91b6432ba3432b902811415613bf457613bef8c836151ee565b613bff565b613bff87838e614e1a565b6001600160a01b03808d166000908152606f60209081526040808320938d168352929052206004015460001901841415613c8e576001600160a01b03808d166000908152606f60209081526040808320938d16835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613c8b60048301826152aa565b50505b6000613c998e612362565b90508c6001600160a01b03167f2d19a99480f5a3ef68b4447c6cca94ffc19c61d91a3baa80d015f30cfb2b46ac8b838f613cd288612362565b87604051613ce4959493929190615b18565b60405180910390a2505050505b505b5091506115169050565b6000613d0a848484614d17565b156108ac57604051600160e11b637aa9bf6f0281526001600160a01b0386169063f5537ede90613d4290879087908790600401615a7b565b602060405180830381600087803b158015613d5c57600080fd5b505af1158015613d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d949190810190615501565b156108ac576001600160a01b0380851660009081526070602081815260408084208a86168086529083528185209589168552928252808420928452919052902081548154608091821b821c6001600160801b0319918216178084558454600160801b90819004841b841c026001600160801b03919091161783556001808501549084015560028085015490840155600380850154908401805491841b90931c911617905560048083018054613e4c92840191906152c8565b5050506001600160a01b038085166000908152607060209081526040808320938916835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613ea760048301826152aa565b505060019050610e67565b6068805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b303b1590565b3390565b60006123f483600160ff1b84185b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415613f785780617fff1415613f6e576001600160801b03198581169085161415613f5b5784925050506116e4565b50600160ef1b61ffff0291506116e49050565b84925050506116e4565b80617fff1415613f8c5783925050506116e4565b6001607f1b608086901c6001600160801b0381169190911015906001600160701b031683613fbd5760019350613fc4565b600160701b175b6001607f1b608087901c6001600160801b0381169190911015906001600160701b031684613ff55760019450613ffc565b600160701b175b8261402c576001600160801b03198816600160ff1b1461401c578761401f565b60005b96505050505050506116e4565b8061404c576001600160801b03198916600160ff1b1461401c578861401f565b848603841515831515141561417257607081131561407357899750505050505050506116e4565b6000811315614092578082600082121561408957fe5b901c91506140cc565b606f198112156140ab57889750505050505050506116e4565b60008112156140cc57806000038460008212156140c457fe5b901c93508596505b92810192600160711b84106140e7576001968701969390931c925b86617fff141561411c578461410457600160f01b617fff0261410e565b6001600160f01b03195b9750505050505050506116e4565b600160701b841015614131576000965061413e565b6001600160701b03841693505b83607088901b86614150576000614156565b6001607f1b5b6001600160801b0316171760801b9750505050505050506116e4565b600081131561418d57600184901b93506001870396506141a4565b60008112156141a457600182901b91506001860396505b60708113156141b65760019150614219565b60018113156141de57600181036001830360008212156141d257fe5b901c6001019150614219565b606f198112156141f15760019350614219565b600019811215614219576001816000030360018503600082121561421157fe5b901c60010193505b81841061422a578184039350614233565b83820393508294505b836142495750600096506116e495505050505050565b600061425485612124565b9050806071141561427a57600185901c6001600160701b031694506001880197506142c9565b60708110156142bc576070819003808911156142a9578086901b6001600160701b0316955080890398506142b6565b600098600019019590951b945b506142c9565b6001600160701b03851694505b87617fff14156142ff57856142e657600160f01b617fff026142f0565b6001600160f01b03195b985050505050505050506116e4565b84607089901b87614311576000614317565b6001607f1b5b6001600160801b0316171760801b985050505050505050506116e4565b6001600160a01b03811661435d57604051600160e51b62461bcd02815260040161171190615cfb565b6035546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603580546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160801b031986166143cf57600080fd5b604051600160e01b63a1c348810281526001600160a01b0384169063a1c34881906144009089908990600401615b91565b602060405180830381600087803b15801561441a57600080fd5b505af115801561442e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144529190810190615501565b61445e57506000611516565b606d54841461481757606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e647906144bc908a908790600590600401615c4c565b60006040518083038186803b1580156144d457600080fd5b505af41580156144e8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526145109190810190615651565b606d546040516020016145249291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b825261454f913090600401615ccb565b602060405180830381600087803b15801561456957600080fd5b505af115801561457d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145a1919081019061555f565b606a54604051600160e01b63f921e6470281529192506000916001600160a01b039091169063274200639073__stringutils___________________________9063f921e647906145fb908b908790600590600401615c4c565b60006040518083038186803b15801561461357600080fd5b505af4158015614627573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261464f9190810190615651565b606d546040516020016146639291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b825261468e913090600401615cac565b602060405180830381600087803b1580156146a857600080fd5b505af11580156146bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506146e0919081019061555f565b606a54604051600160e21b6313f493a70281529192506001600160a01b031690634fd24e9c906147169085908590600401615c31565b600060405180830381600087803b15801561473057600080fd5b505af1158015614744573d6000803e3d6000fd5b5050506000828152607260205260408120600160c01b6770757263686173650281556004810180546001600160a01b03808a166001600160a01b031992831617909255600583018054928d169290911691909117905560028101805460808d901c6001600160801b03199091161790556001810189905591506147c6906106e5565b6003820180546001600160801b03191660809290921c9190911790556147ed6127106106e5565b8160030160106101000a8154816001600160801b03021916908360801c0217905550505050614a1b565b606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e6479061486c908a908790600590600401615c4c565b60006040518083038186803b15801561488457600080fd5b505af4158015614898573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526148c09190810190615651565b6040516020016148d091906159e4565b60408051601f198184030181529082905263ffffffff831660e01b82526148fb913090600401615cac565b602060405180830381600087803b15801561491557600080fd5b505af1158015614929573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061494d919081019061555f565b6000818152607260205260409020600160c01b6770757263686173650281556004810180546001600160a01b038088166001600160a01b031992831617909255600583018054928b169290911691909117905560028101805460808b901c6001600160801b03199091161790556001808201889055919250906149cf906106e5565b6003820180546001600160801b03191660809290921c9190911790556149f66127106106e5565b8160030160106101000a8154816001600160801b03021916908360801c021790555050505b50600195945050505050565b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415614adf5780617fff1415614aaa576001600160801b03198581169085161415614a8757505050600160ff1b811682186116e4565b600160ff1b6001600160801b0319868618161415613f5b575050508181176116e4565b600160801b600160ff1b038416614ace5750600160ef1b61ffff0291506116e49050565b505050600160ff1b811682186116e4565b80617fff1415614b1e57600160801b600160ff1b038516614b0d5750600160ef1b61ffff0291506116e49050565b505050600160ff1b821681186116e4565b6001600160701b03608086901c1682614b3a5760019250614b41565b600160701b175b6001600160701b03608086901c1682614b5d5760019250614b64565b600160701b175b9081029081614b9157600160ff1b87871816614b815760006124f8565b600160ff1b9450505050506116e4565b928201926000600160e11b831015614bc557600160e01b831015614bbd57614bb883612124565b614bc0565b60e05b614bc8565b60e15b90506140708186011015614be3576000945060009250614c80565b6140e08186011015614c2657614070851015614c0857846140700383901c9250614c1d565b614070851115614c1d57614070850383901b92505b60009450614c80565b61c0dd8186011115614c4057617fff945060009250614c80565b6070811115614c57576070810383901c9250614c6a565b6070811015614c6a578060700383901b92505b6001600160701b03831692506140df8186010394505b82607086901b888a186001607f1b60801b1660801c6001600160801b0316171760801b955050505050506116e4565b6001600160a01b039586166000908152606f6020908152604080832093909816825291909152949094208054608093841c600160801b029490931c6001600160801b0319909316929092176001600160801b0316929092178155600181019190915560020155565b6000614d46614d25836106e5565b6001600160a01b03861660009081526001602052604090205460801b6123fb565b60000b6000191480614d645750614d5f614d25836106e5565b60000b155b15614e10576001600160a01b038416600090815260016020526040902054614d929060801b611deb846106e5565b6001600160a01b0385811660009081526001602052604080822080546001600160801b031916608095861c17905591861681522054614dd5911b611e31846106e5565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c9290921790915590506123f4565b5060009392505050565b604051600160e51b623f7fb90281526001600160a01b038416906307eff72090614e4a9085908590600401615b91565b602060405180830381600087803b158015614e6457600080fd5b505af1158015614e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614e9c919081019061551f565b50505050565b6001600160a01b039687166000908152607060209081526040808320938a168352928152918120600481018054600180820183559184529390922090920180546001600160a01b03191697909816969096179096556003860180546001600160801b031916608095861c17905585546001600160801b0316600160801b9390941c9290920292909217845591830155600290910155565b818101828110156116e457600080fd5b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415614f965780617fff1415614ace5750600160ef1b61ffff0291506116e49050565b80617fff1415614fd657600160801b600160f01b03841615614fc55750600160ef1b61ffff0291506116e49050565b505050808218600160ff1b166116e4565b600160801b600160ff1b03841661502657600160801b600160ff1b03851661500b5750600160ef1b61ffff0291506116e49050565b505050808218600160ff1b16600160f01b617fff02176116e4565b6001600160701b03608085901c16816150425760019150615049565b600160701b175b6001600160701b03608087901c168361508857801561508357600061506d82612124565b6001955060e20393840160711901939190911b90505b615092565b600160701b1760721b5b81818161509b57fe5b049050806150b757600160ff1b87871816614b815760006124f8565b6001606c1b8110156150c557fe5b6000600160731b82101561510557600160721b8210156150fa57600160711b8210156150f25760706150f5565b60715b6150fd565b60725b60ff1661510e565b61510e82612124565b90508361407101818601111561512c57617fff9450600091506151bf565b83818601613ffc0110156151475760009450600091506151bf565b83818601613f8c011015615194578385613ffc011115615172578385613ffc010382901b915061518b565b8385613ffc01101561518b57613ffc8585030382901c91505b600094506151bf565b60708111156151a7576070810382901c91505b6001600160701b038216915083818601613f8d010394505b81607086901b888a186001607f1b60801b1660801c6001600160801b0316171760801b955050505050506116e4565b816001600160a01b03166108fc61520483612362565b6040518115909202916000818181858888f19350505050158015611418573d6000803e3d6000fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061526d57805160ff191683800117855561529a565b8280016001018555821561529a579182015b8281111561529a57825182559160200191906001019061527f565b506152a6929150615314565b5090565b5080546000825590600052602060002090810190611fa79190615314565b8280548282559060005260206000209081019282156153085760005260206000209182015b828111156153085782548255916001019190600101906152ed565b506152a692915061532e565b610f1091905b808211156152a6576000815560010161531a565b610f1091905b808211156152a65780546001600160a01b0319168155600101615334565b60006123f48235615e22565b60006123f48251615e22565b60006123f48251615e2d565b60006123f48235615e32565b60006123f48251615e32565b60006123f48235610f10565b60006123f48251610f10565b600082601f8301126153b757600080fd5b81516153ca6153c582615de7565b615dc0565b915080825260208301602083018583830111156153e657600080fd5b6153f1838284615e72565b50505092915050565b60006020828403121561540c57600080fd5b6000610e678484615352565b60006020828403121561542a57600080fd5b6000610e67848461535e565b6000806040838503121561544957600080fd5b60006154558585615352565b925050602061546685828601615352565b9150509250929050565b6000806000806080858703121561548657600080fd5b60006154928787615352565b94505060206154a387828801615352565b93505060406154b48782880161538e565b92505060606154c587828801615352565b91505092959194509250565b600080604083850312156154e457600080fd5b60006154f08585615352565b92505060206154668582860161538e565b60006020828403121561551357600080fd5b6000610e67848461536a565b60006020828403121561553157600080fd5b6000610e678484615382565b6000806000806080858703121561555357600080fd5b60006154928787615376565b60006020828403121561557157600080fd5b6000610e67848461539a565b60008060006060848603121561559257600080fd5b600061559e868661538e565b93505060206155af86828701615376565b92505060406155c08682870161538e565b9150509250925092565b60008060008060008060c087890312156155e357600080fd5b60006155ef898961538e565b965050602061560089828a0161538e565b955050604061561189828a01615352565b945050606061562289828a01615352565b935050608061563389828a01615352565b92505060a061564489828a01615352565b9150509295509295509295565b60006020828403121561566357600080fd5b815167ffffffffffffffff81111561567a57600080fd5b610e67848285016153a6565b60006020828403121561569857600080fd5b6000610e67848461538e565b60006156b083836156c7565b505060200190565b6156c181615e51565b82525050565b6156c181615e22565b6156c16156dc82615e22565b615e9e565b60006156ec82615e15565b6156f68185615e19565b935061570183615e0f565b60005b8281101561572c576157178683516156a4565b955061572282615e0f565b9150600101615704565b5093949350505050565b6156c181615e2d565b6156c181615e32565b6156c181610f10565b6156c161575d82610f10565b610f10565b600061576d82615e15565b6157778185615e19565b9350615787818560208601615e72565b61579081615eaf565b9093019392505050565b6156c181615e5c565b60006157ae82615e15565b6157b881856106e0565b93506157c8818560208601615e72565b9290920192915050565b600160e21b63109bdb99029052565b60006157ee602683615e19565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20618152600160d01b6564647265737302602082015260400192915050565b600160e91b623b32b9029052565b600160cb1b660acd2c286c2e6d029052565b600160ca1b66115d1a109bdb99029052565b600061586b600383615e19565b600160eb1b620cae8d02815260200192915050565b600160d21b65195d1a1d5cd9029052565b600061589e6009836106e0565b600160b81b6856585553445f746f5f02815260090192915050565b600160f11b6134b9029052565b600160f11b6132b9029052565b60006158e0602083615e19565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000615919602e83615e19565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b60006159786004836106e0565b600160e01b635f746f5f02815260040192915050565b600160c81b6669737375696e67029052565b6156c181615e4b565b60006159b582856156d0565b6014820191506159c58284615751565b5060200192915050565b60006159db8284615751565b50602001919050565b60006123f482846157a3565b60006159fc82856157a3565b9150615a078261596b565b91506159c58284615751565b6000615a1e82615891565b91506159db8284615751565b602081016116e482846156c7565b602081016116e482846156b8565b60808101615a5482876156c7565b615a6160208301866156c7565b615a6e6040830185615748565b6115166060830184615748565b60608101615a8982866156c7565b615a9660208301856156c7565b610e676040830184615748565b60408101615ab182856156c7565b6123f4602083018461573f565b60c08101615acc82896156c7565b615ad96020830188615748565b615ae66040830187615748565b615af36060830186615748565b615b006080830185615748565b615b0d60a0830184615748565b979650505050505050565b60a08101615b2682886156c7565b615b336020830187615748565b615b406040830186615748565b615b4d6060830185615748565b615b5a6080830184615748565b9695505050505050565b602080825281016123f481846156e1565b602081016116e48284615736565b602081016116e4828461573f565b60408101615b9f828561573f565b6123f460208301846156c7565b60a08101615bba828861573f565b615bc7602083018761573f565b615bd46040830186615748565b615be16060830185615748565b615b5a608083018461573f565b602081016116e48284615748565b60a08101615c0a8288615748565b615c17602083018761573f565b615c246040830186615748565b615be1606083018561573f565b60408101615c3f8285615748565b6123f46020830184615748565b60608101615c5a8286615748565b615c67602083018561579a565b610e67604083018461579a565b60808082528101615c858185615762565b9050615c936020830161582c565b615c9f604083016157d2565b6123f460608301846156c7565b60808082528101615cbd8185615762565b9050615c93602083016158b9565b60808082528101615cdc8185615762565b9050615c93602083016158c6565b602080825281016123f48184615762565b602080825281016116e4816157e1565b60408101615d188261583a565b6116e46020830184615748565b60808082528101615d358161585e565b9050615d4360208301615880565b615d4f6040830161584c565b6116e460608301846156c7565b602080825281016116e4816158d3565b602080825281016116e48161590c565b602081016106e08261598e565b60808101615d978287615748565b615a616020830186615748565b60a08101615b268288615748565b602081016116e482846159a0565b60405181810167ffffffffffffffff81118282101715615ddf57600080fd5b604052919050565b600067ffffffffffffffff821115615dfe57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006116e482615e3f565b151590565b6001600160801b03191690565b6001600160a01b031690565b60ff1690565b60006116e482615e67565b60006116e482610f10565b60006116e482615e22565b60005b83811015615e8d578181015183820152602001615e75565b83811115614e9c5750506000910152565b60006116e48260006116e482615eb9565b601f01601f191690565b60601b9056fea265627a7a72305820911d7f492ebe7b894babe32730cff1a3f23e19567da2f6d620b8942f81037e366c6578706572696d656e74616cf50037",
|
|
790
|
+
"metadata": "{\"compiler\":{\"version\":\"0.5.7+commit.6da8b019\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"txId\",\"type\":\"bytes32\"},{\"name\":\"result\",\"type\":\"bytes16\"},{\"name\":\"rtype\",\"type\":\"bytes32\"}],\"name\":\"convert\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"}],\"name\":\"balances\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"amount\",\"type\":\"bytes16\"},{\"name\":\"payer\",\"type\":\"address\"},{\"name\":\"currency\",\"type\":\"bytes32\"},{\"name\":\"cashContract\",\"type\":\"address\"}],\"name\":\"requestIssue\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"issues\",\"outputs\":[{\"name\":\"parValue\",\"type\":\"bytes16\"},{\"name\":\"paidInAmount\",\"type\":\"bytes16\"},{\"name\":\"paidInCurrency\",\"type\":\"bytes32\"},{\"name\":\"timeIssuedOrSubscribed\",\"type\":\"uint256\"},{\"name\":\"purchasedIssueAmount\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"unpause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"purchaser\",\"type\":\"address\"},{\"name\":\"bondToken\",\"type\":\"address\"}],\"name\":\"getBondPurchases\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"address\"}],\"name\":\"purchases\",\"outputs\":[{\"name\":\"parValue\",\"type\":\"bytes16\"},{\"name\":\"paidInAmount\",\"type\":\"bytes16\"},{\"name\":\"paidInCurrency\",\"type\":\"bytes32\"},{\"name\":\"timeIssuedOrSubscribed\",\"type\":\"uint256\"},{\"name\":\"purchasedIssueAmount\",\"type\":\"bytes16\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"tokenOwner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"amount\",\"type\":\"bytes16\"},{\"name\":\"payer\",\"type\":\"address\"},{\"name\":\"currency\",\"type\":\"bytes32\"},{\"name\":\"tokenContract\",\"type\":\"address\"}],\"name\":\"requestRedemption\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"},{\"name\":\"receiver\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"},{\"name\":\"forwarder\",\"type\":\"address\"}],\"name\":\"transferForward\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[],\"name\":\"pause\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"bondName\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_name\",\"type\":\"bytes32\"},{\"name\":\"_currency\",\"type\":\"bytes32\"},{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_oracle\",\"type\":\"address\"},{\"name\":\"_token\",\"type\":\"address\"},{\"name\":\"_fee\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getBonds\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"issuer\",\"type\":\"address\"},{\"name\":\"bondToken\",\"type\":\"address\"}],\"name\":\"getBondIssues\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"uint256\"},{\"name\":\"\",\"type\":\"bytes32\"},{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"receiver\",\"type\":\"address\"},{\"name\":\"tokens\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"isPaused\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"bondsIssued\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"amount\",\"type\":\"bytes16\"},{\"name\":\"payer\",\"type\":\"address\"},{\"name\":\"currency\",\"type\":\"bytes32\"},{\"name\":\"cashContract\",\"type\":\"address\"}],\"name\":\"requestPurchase\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"bondName\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"currency\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"collateralAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"issueTime\",\"type\":\"uint256\"}],\"name\":\"BondIssued\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"tokenName\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"currency\",\"type\":\"bytes32\"}],\"name\":\"BondRedeemed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"bondName\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"currency\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"paidInAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"purchaseTime\",\"type\":\"uint256\"}],\"name\":\"BondPurchased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"party\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"token\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"tokenAmount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"tokenName\",\"type\":\"bytes32\"},{\"indexed\":false,\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"name\":\"currency\",\"type\":\"bytes32\"}],\"name\":\"BondLiquidated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Paused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"Unpaused\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"initialize(address)\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"isOwner()\":{\"details\":\"Returns true if the caller is the current owner.\"},\"isPaused()\":{\"return\":\"True: contract is paused\\rFalse: contract is not paused\\r\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. * > Note: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{\"isPaused()\":{\"notice\":\"returns whether or not the contract is paused\\r\"}}}},\"settings\":{\"compilationTarget\":{\"project:/contracts/Bond.sol\":\"Bond\"},\"evmVersion\":\"petersburg\",\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-ethereum-package/contracts/GSN/Context.sol\":{\"keccak256\":\"0x3491510fa4862af1a43f6c860d9cf7392240196540cd3c0eea79d374d419c5a1\",\"urls\":[\"bzzr://5cddbf3b74b775a8670757a6b8e108dac17dac20253f35f4c729e9cb6bea4ed3\"]},\"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\":{\"keccak256\":\"0xd7e8ab76fa35c4d8d35a06a6ed538cadab8b75a1aa00594ced1568b2c0cadde3\",\"urls\":[\"bzzr://b4c855b32d75f2a4969bfbd530b6934b69f12f28584b3746967e1ca64e024bd9\"]},\"@openzeppelin/upgrades/contracts/Initializable.sol\":{\"keccak256\":\"0x9bfec92e36234ecc99b5d37230acb6cd1f99560233753162204104a4897e8721\",\"urls\":[\"bzzr://f75d88b16fe25a9e19b3512691c496e2bb6d8451bc9a636196c4e17ca9b40201\"]},\"abdk-libraries-solidity/ABDKMathQuad.sol\":{\"keccak256\":\"0xf75c2b34d9924cc413521db48a168b00ed321e678e70f5048a50c1140994dcf2\",\"urls\":[\"bzzr://0bdb29f3216c419e91defe1801f146cb40bb9551c8cd708ffb59f1e298e205ce\"]},\"project:/contracts/Bond.sol\":{\"keccak256\":\"0x87d4c18b0768becb0a8f8366194c5b5b2ab0aeceecdb1a3d93862017d6b83a15\",\"urls\":[\"bzzr://3e399d740a51e7a98351220884752dd095d398dacfb2a7701db927fdbea6bf54\"]},\"project:/contracts/erc/ERC20.sol\":{\"keccak256\":\"0x44421d361d4f1e95aa8727438abb33269aac246ea409e40ea1669a9b5dd81b92\",\"urls\":[\"bzzr://b5a3ae0440cebe82f803fef0c2f7d4ca15ad2544aee897d41073479b38ac887f\"]},\"project:/contracts/interfaces/VerifiedClient.sol\":{\"keccak256\":\"0xbdfb6846d7679a8a1b8984a5262f5d5ae072c319bb951692c0ba19943164fd0a\",\"urls\":[\"bzzr://c86aa25338531c43af3f9fc04d171b6ee721b6522346d42c7b593366e512f482\"]},\"project:/contracts/interfaces/VerifiedRates.sol\":{\"keccak256\":\"0x58aa2d71941b79adb51c296576386555de6ba0bc4d352fb7d94ed83cb86cae3e\",\"urls\":[\"bzzr://f57e774b3103b40d2a14d772aa5285d75e7ad5b5d05362efea44f8efa9a20d13\"]},\"project:/contracts/interfaces/ViaBond.sol\":{\"keccak256\":\"0x2ea135bd12198e48344fddfff48b02786433774d540247d4cb6b6fab8ce0d78c\",\"urls\":[\"bzzr://7b08218b93bde6f7ba986148b15dc14701605075a9958da29c2f4e27835e9744\"]},\"project:/contracts/interfaces/ViaCash.sol\":{\"keccak256\":\"0xd787524b72c3a886b0aa471528bc4e4a092215389df75445eca21d52c7921249\",\"urls\":[\"bzzr://68140256f0efabd02839139f6dc253f6cde0af97ed7bbb1e9dda9012dda514d4\"]},\"project:/contracts/interfaces/ViaFactory.sol\":{\"keccak256\":\"0x61364e0e62edba9e4db776f09b320ed7147e2049f91bdf0ade6666818aa82e59\",\"urls\":[\"bzzr://c4e228128c76aa00ea50de421dc1f0b9660ae843c6d88f8bfdf6cddd237608d1\"]},\"project:/contracts/interfaces/ViaOracle.sol\":{\"keccak256\":\"0x1f29e4999576b985fa45ff53ca14594f077e96def714ef441b73f072ec72994d\",\"urls\":[\"bzzr://a2f079f5481a5c5ef6e6b58935ef1f8e03f9f528bd95153a72884343296c902e\"]},\"project:/contracts/interfaces/ViaToken.sol\":{\"keccak256\":\"0x198aefe12635d1b1cb74c29009ac4224bf4d9730aa1bc2a4c046adb17a56df05\",\"urls\":[\"bzzr://01983fbb85404dd25534b379278927611ca57d4b1862d902fb15c3388d10d4ae\"]},\"project:/contracts/utilities/BokkyPooBahsDateTimeLibrary.sol\":{\"keccak256\":\"0xd21e21c1f282c6a9582d081fdfe0ad5bf79466cdd1c5acdd3da6d3a4f68020f7\",\"urls\":[\"bzzr://3de13ba04cba9e306c19e3e2ec30c5641a971191d7054b58d1b5b30979769e35\"]},\"project:/contracts/utilities/Pausable.sol\":{\"keccak256\":\"0x96eceae12582eec38cc9706095b6f7d038b00dc36d98a02d234e7051b42a2a6a\",\"urls\":[\"bzzr://e5e1adfa3d22d6769d754f3f7f74eb1b12f5327b56b49584d34490b9d747d9b3\"]},\"project:/contracts/utilities/PaymentUtils.sol\":{\"keccak256\":\"0xdc4df1dbdb921e72b41d2d53047382b33cab6b3c61fac4a859d94319a0725f0e\",\"urls\":[\"bzzr://ace86d7d8e3d50d184b3615b6a6cb205ad2fbe3cc54323c6831976eb3f08e743\"]},\"project:/contracts/utilities/StringUtils.sol\":{\"keccak256\":\"0x83efe297d5b86cfb88d09a7f8d186891abeef1f93a2eaf920d8f06cca52241c0\",\"urls\":[\"bzzr://dbad84615e07a48a5e1a9f45dc70c09895fbf0aa65b6510242c2b91ad2a3c78a\"]}},\"version\":1}",
|
|
791
|
+
"bytecode": "0x6080604052603c607455615ef9806100186000396000f3fe6080604052600436106101b75760003560e01c80638456cb59116100ec57806395d89b411161008a578063c4d66de811610064578063c4d66de814610529578063d478b27414610549578063f2fde38b14610569578063f6fd5c7914610589576101b7565b806395d89b41146104df578063a9059cbb146104f4578063b187bd2614610514576101b7565b80638b140f6b116100c65780638b140f6b146104555780638da5cb5b146104775780638f32d59b146104995780638fba9c7c146104ae576101b7565b80638456cb591461040b578063887b6abc1461042057806389d29c4c14610435576101b7565b80633f4ba83a1161015957806370a082311161013357806370a0823114610396578063715018a6146103b657806379537570146103cb57806381ca86fe146103eb576101b7565b80633f4ba83a14610331578063410a6c7d146103465780636b98f83514610376576101b7565b806327e235e31161019557806327e235e3146102845780632c5fc01d146102b1578063313ce567146102de57806339baf48014610300576101b7565b806306fdde031461021557806318160ddd1461024057806321f68b4e14610262575b346101c157600080fd5b36156101cc57600080fd5b60685460ff16156101dc57600080fd5b6101e5336105a9565b15156001146101f357600080fd5b6102126101ff346106e5565b33600160d91b6432ba3432b9023061074a565b50005b34801561022157600080fd5b5061022a610e6f565b6040516102379190615cea565b60405180910390f35b34801561024c57600080fd5b50610255610efd565b6040516102379190615bee565b34801561026e57600080fd5b5061028261027d36600461557d565b610f13565b005b34801561029057600080fd5b506102a461029f3660046153fa565b61141d565b6040516102379190615b83565b3480156102bd57600080fd5b506102d16102cc36600461553d565b611432565b6040516102379190615b75565b3480156102ea57600080fd5b506102f361151f565b6040516102379190615db2565b34801561030c57600080fd5b5061032061031b366004615436565b611524565b604051610237959493929190615bac565b34801561033d57600080fd5b50610282611566565b34801561035257600080fd5b50610366610361366004615436565b6115c6565b6040516102379493929190615d89565b34801561038257600080fd5b50610320610391366004615436565b61167d565b3480156103a257600080fd5b506102556103b13660046153fa565b6116bf565b3480156103c257600080fd5b506102826116ea565b3480156103d757600080fd5b506102d16103e636600461553d565b611764565b3480156103f757600080fd5b506102d1610406366004615470565b611865565b34801561041757600080fd5b50610282611955565b34801561042c57600080fd5b506102556119b1565b34801561044157600080fd5b506102826104503660046155ca565b6119b7565b34801561046157600080fd5b5061046a611b9c565b6040516102379190615b64565b34801561048357600080fd5b5061048c611bfe565b6040516102379190615a2a565b3480156104a557600080fd5b506102d1611c0d565b3480156104ba57600080fd5b506104ce6104c9366004615436565b611c33565b604051610237959493929190615da4565b3480156104eb57600080fd5b5061022a611d23565b34801561050057600080fd5b506102d161050f3660046154d1565b611d7e565b34801561052057600080fd5b506102d1611e72565b34801561053557600080fd5b506102826105443660046153fa565b611e7b565b34801561055557600080fd5b5061048c610564366004615686565b611f50565b34801561057557600080fd5b506102826105843660046153fa565b611f77565b34801561059557600080fd5b506102d16105a436600461553d565b611faa565b600080606860019054906101000a90046001600160a01b03166001600160a01b03166359dc735c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105fa57600080fd5b505afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106329190810190615418565b90506001600160a01b03811661064c5760019150506106e0565b604051600160e01b633a2910330281526001600160a01b03821690633a2910339061067b908690600401615a2a565b60206040518083038186803b15801561069357600080fd5b505afa1580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106cb9190810190615501565b156106da5760019150506106e0565b60009150505b919050565b6000816106f4575060006106e0565b81600061070082612124565b90506070811015610719578060700382901b915061072c565b607081111561072c576070810382901c91505b613fff0160701b6001600160701b03919091161760801b90506106e0565b60006001600160801b0319851661076057600080fd5b610769856121c7565b945082600160d91b6432ba3432b902146108b457606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906107b4908590600401615a2a565b60206040518083038186803b1580156107cc57600080fd5b505afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610804919081019061555f565b600160cb1b660acd2c286c2e6d0214156108ac57604051600160e01b63a1c348810281526001600160a01b0383169063a1c34881906108499088908890600401615b91565b602060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089b9190810190615501565b6108a757506000610e67565b6108b4565b506000610e67565b82600160d91b6432ba3432b9021415610c7757606d54600160da1b6415961554d10214610b2757606a54604051600160e01b63274200630281526000916001600160a01b03169063274200639061090f903090600401615d25565b602060405180830381600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610961919081019061555f565b606a54606d546040519293506000926001600160a01b039092169163274200639161098e91602001615a13565b60408051601f198184030181529082905263ffffffff831660e01b82526109b9913090600401615c74565b602060405180830381600087803b1580156109d357600080fd5b505af11580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a0b919081019061555f565b606a54604051600160e21b6313f493a70281529192506001600160a01b031690634fd24e9c90610a419085908590600401615c31565b600060405180830381600087803b158015610a5b57600080fd5b505af1158015610a6f573d6000803e3d6000fd5b5050506000828152607260205260408120600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b038b161790556002810180546001600160801b03191660808c901c179055600181018890559150610ad5906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610b0160006106e5565b60039190910180546001600160801b03191660809290921c91909117905550610c729050565b606d54600160da1b6415961554d1021415610c7257606a54604051600160e01b63274200630281526000916001600160a01b031690632742006390610b70903090600401615d25565b602060405180830381600087803b158015610b8a57600080fd5b505af1158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bc2919081019061555f565b6000818152607260205260408120600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b038a161790556002810180546001600160801b03191660808b901c17905560018101879055919250610c26906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610c5260016106e5565b60039190910180546001600160801b03191660809290921c919091179055505b610e63565b606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e64790610ccc9089908790600590600401615c4c565b60006040518083038186803b158015610ce457600080fd5b505af4158015610cf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d209190810190615651565b606d54604051602001610d349291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b8252610d5f913090600401615c74565b602060405180830381600087803b158015610d7957600080fd5b505af1158015610d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610db1919081019061555f565b6000818152607260205260409020600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b0389161790556002810180546001600160801b03191660808a901c179055600180820187905591925090610e17906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610e4360006106e5565b60039190910180546001600160801b03191660809290921c919091179055505b5060015b949350505050565b606b805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b820191906000526020600020905b815481529060010190602001808311610ed857829003601f168201915b505050505081565b60008054610f0d9060801b612362565b90505b90565b606a546001600160a01b03163314610f2a57600080fd5b80600160d21b65195d1a1d5cd9021415610f6957600083815260726020526040902060020180546001600160801b0316600160801b608085901c021790555b80600160f11b6134b9021415610fa457600083815260726020526040902060030180546001600160801b0316600160801b608085901c021790555b80600160f11b6132b9021415610fda57600083815260726020526040902060030180546001600160801b031916608084901c1790555b80600160e91b623b32b902141561101157600083815260726020526040902060030180546001600160801b031916608084901c1790555b600083815260726020526040902054600160d81b6469737375650214156112165780600160d21b65195d1a1d5cd9021480611054575080600160e91b623b32b902145b156112115760008381526072602052604081206002015461108991600160801b90910460801b90611084906106e5565b6123fb565b60000b158015906110c157506000838152607260205260408120600301546110bb9160809190911b90611084906106e5565b60000b15155b1561121157606d54600084815260726020526040808220600281015460018201546003909201549251600160e21b631e61f511028152939473__paymentutils__________________________94637987d44494611138949293608081811b9493600160801b909204811b92901b90600401615bfc565b60206040518083038186803b15801561115057600080fd5b505af4158015611164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611188919081019061551f565b6000858152607260205260409020600581015460028201546001909201549293506111c7926001600160a01b0390911691849160809190911b90612544565b506000838152607260205260408120818155600181018290556002810182905560038101919091556004810180546001600160a01b03199081169091556005909101805490911690555b611418565b600083815260726020526040902054600160c01b6770757263686173650214156114185780600160f11b6132b9021480611257575080600160f11b6134b902145b15611418576000838152607260205260408120600301546112829160809190911b90611084906106e5565b60000b158015906112bf57506000838152607260205260408120600301546112b991600160801b90910460801b90611084906106e5565b60000b15155b1561141857606d54600084815260726020526040808220600281015460018201546003909201549251600160e11b634dd1211f028152939473__paymentutils__________________________94639ba2423e94611337949293608090811b939282821b92600160801b900490911b90600401615bfc565b60206040518083038186803b15801561134f57600080fd5b505af4158015611363573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611387919081019061551f565b60008581526072602052604090206005810154600282015460018301546004909301549394506113ce936001600160a01b0392831693869360809390931b92909116612807565b506000838152607260205260408120818155600181018290556002810182905560038101919091556004810180546001600160a01b03199081169091556005909101805490911690555b505050565b60016020526000908152604090205460801b81565b60685460009060ff161561144557600080fd5b82606d54141561145457600080fd5b61145d846105a9565b151560011461146b57600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906114a2903390600401615a38565b60206040518083038186803b1580156114ba57600080fd5b505afa1580156114ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f2919081019061555f565b600160cb1b660acd2c286c2e6d021461150a57600080fd5b6115168585858561074a565b95945050505050565b600290565b606f6020908152600092835260408084209091529082529020805460018201546002830154600390930154608083811b94600160801b909404811b9391901b85565b606854339061010090046001600160a01b0316611581611bfe565b6001600160a01b0316826001600160a01b031614806115b15750806001600160a01b0316826001600160a01b0316145b6115ba57600080fd5b6115c2612b14565b5050565b6001600160a01b038083166000908152606f602090815260408083209385168352929052908120600301548190819081906116039060801b612362565b6001600160a01b038088166000908152606f60209081526040808320938a168352929052205461163c90600160801b900460801b612362565b6001600160a01b039788166000908152606f6020908152604080832099909a1682529790975296909520600181015460029091015495979095945092505050565b60706020908152600092835260408084209091529082529020805460018201546002830154600390930154608083811b94600160801b909404811b9391901b85565b6001600160a01b0381166000908152600160205260408120546116e49060801b612362565b92915050565b6116f2611c0d565b61171a57604051600160e51b62461bcd02815260040161171190615d5c565b60405180910390fd5b6035546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603580546001600160a01b0319169055565b60685460009060ff161561177757600080fd5b611780846105a9565b151560011461178e57600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906117c5903390600401615a38565b60206040518083038186803b1580156117dd57600080fd5b505afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611815919081019061555f565b600160a11b6b2b34b0a137b7322a37b5b2b7021461183257600080fd5b611851858585600160a11b6b21b0b9b42a3930b739b332b90286612b49565b61185d57506000610e67565b506001610e67565b60685460009060ff161561187857600080fd5b611881856105a9565b151560011461188f57600080fd5b611898846105a9565b15156001146118a657600080fd5b6001600160a01b03841630148015906118d05750816001600160a01b0316846001600160a01b0316145b1561190c576118ff6118e1846106e5565b86606d54600160991b6c2a37b5b2b72a3930b739b332b90286612b49565b156108ac57506001610e67565b6001600160a01b0380861660009081526070602090815260408083209386168352929052206003015483906119439060801b612362565b14156108ac576118ff82868686613cfd565b606854339061010090046001600160a01b0316611970611bfe565b6001600160a01b0316826001600160a01b031614806119a05750806001600160a01b0316826001600160a01b0316145b6119a957600080fd5b6115c2613eb2565b606d5481565b600254610100900460ff16806119d057506119d0613eea565b806119de575060025460ff16155b6119fd57604051600160e51b62461bcd02815260040161171190615d6c565b600254610100900460ff16158015611a28576002805460ff1961ff0019909116610100171660011790555b611a3185611e7b565b60688054610100600160a81b0319163361010002179055606a80546001600160a01b0319166001600160a01b038616179055604051611a749088906020016159cf565b604051602081830303815290604052606b9080519060200190611a9892919061522c565b50604051600160e01b63f921e64702815273__stringutils___________________________9063f921e64790611ad9908a90600090600590600401615c4c565b60006040518083038186803b158015611af157600080fd5b505af4158015611b05573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b2d9190810190615651565b8051611b4191606c9160209091019061522c565b50606d869055606e80546001600160a01b038086166001600160a01b03199283161790925560698054928516929091169190911790556073805460ff191690558015611b93576002805461ff00191690555b50505050505050565b60606071805480602002602001604051908101604052809291908181526020018280548015611bf457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611bd6575b5050505050905090565b6035546001600160a01b031690565b6035546000906001600160a01b0316611c24613ef0565b6001600160a01b031614905090565b6001600160a01b038083166000908152606f602090815260408083209385168352929052908120548190819081908190611c6f9060801b612362565b6001600160a01b038089166000908152606f60209081526040808320938b1683529290522060030154611ca49060801b612362565b6001600160a01b03808a166000908152606f60209081526040808320938c1683529290522054611cdd90600160801b900460801b612362565b6001600160a01b03998a166000908152606f602090815260408083209b909c16825299909952989097206001810154600290910154919997989790965090945092505050565b606c805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b6000611da4611d8c836106e5565b3060009081526001602052604090205460801b6123fb565b60000b6000191480611dc25750611dbd611d8c836106e5565b60000b155b611dcb57600080fd5b30600090815260016020526040902054611df09060801b611deb846106e5565b613ef4565b3060009081526001602052604080822080546001600160801b031916608094851c1790556001600160a01b0386168252902054611e36911b611e31846106e5565b613f02565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c92909217909155905092915050565b60685460ff1690565b600254610100900460ff1680611e945750611e94613eea565b80611ea2575060025460ff16155b611ec157604051600160e51b62461bcd02815260040161171190615d6c565b600254610100900460ff16158015611eec576002805460ff1961ff0019909116610100171660011790555b603580546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156115c2576002805461ff00191690555050565b60718181548110611f5d57fe5b6000918252602090912001546001600160a01b0316905081565b611f7f611c0d565b611f9e57604051600160e51b62461bcd02815260040161171190615d5c565b611fa781614334565b50565b60685460009060ff1615611fbd57600080fd5b611fc6846105a9565b1515600114611fd457600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b9061200b903390600401615a38565b60206040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061205b919081019061555f565b600160a11b6b2b34b0a137b7322a37b5b2b7021461207857600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906120af908590600401615a2a565b60206040518083038186803b1580156120c757600080fd5b505afa1580156120db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ff919081019061555f565b600160cb1b660acd2c286c2e6d021461211757600080fd5b61151685858585336143b9565b600080821161213257600080fd5b6000600160801b831061214757608092831c92015b68010000000000000000831061215f57604092831c92015b640100000000831061217357602092831c92015b62010000831061218557601092831c92015b610100831061219657600892831c92015b601083106121a657600492831c92015b600483106121b657600292831c92015b600283106116e45760010192915050565b606954604051600160e01b63e5f3d3a50281526000918291612254916001600160a01b03169063e5f3d3a5906121ff90600401615d7c565b60206040518083038186803b15801561221757600080fd5b505afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224f919081019061555f565b6106e5565b9050600061226182612362565b1561235a5760695460408051600160e11b637a55098102815290516000926001600160a01b03169163f4aa1302916004808301926020929190829003018186803b1580156122ae57600080fd5b505afa1580156122c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122e69190810190615418565b90506001600160a01b0381161561235857806001600160a01b03166108fc6123166123118689614a27565b612362565b6040518115909202916000818181858888f1935050505015801561233e573d6000803e3d6000fd5b5061234d85611deb8588614a27565b93506106e092505050565b505b509192915050565b6000617fff6001600160801b03608084901c1660701c16613fff81101561238d5760009150506106e0565b6001607f1b8360801c6001600160801b0316106123a957600080fd5b6140fe8111156123b857600080fd5b600160701b6001600160701b03608085901c161761406f8210156123e25761406f8290031c6123f4565b61406f8211156123f45761406e1982011b5b9392505050565b600060016001607f1b03608084901c16600160701b617fff0281111561242057600080fd5b60016001607f1b03608084901c16600160701b617fff0281111561244357600080fd5b6001600160801b031985811690851614158061246f5750600160701b617fff02826001600160801b0316105b61247857600080fd5b6001600160801b03198581169085161415612498576000925050506116e4565b60006001607f1b8660801c6001600160801b03161015905060006001607f1b8660801c6001600160801b03161015905081156125035780156124f457826001600160801b0316846001600160801b0316116124f45760016124f8565b6000195b9450505050506116e4565b80156125165760019450505050506116e4565b826001600160801b0316846001600160801b031611612537576000196124f8565b60019450505050506116e4565b606854606e54606d5460405142936000936001600160a01b03610100909204821693638d5040cc9391909216918a9161258390839089906020016159a9565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016125b89493929190615a46565b602060405180830381600087803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061260a9190810190615418565b604051600160e21b632926e29302815290915081906001600160a01b0382169063a49b8a4c90612640908a908a90600401615aa3565b600060405180830381600087803b15801561265a57600080fd5b505af115801561266e573d6000803e3d6000fd5b5050604051600160e01b63014153330281526001600160a01b0384169250630141533391506126a1908990600401615b83565b600060405180830381600087803b1580156126bb57600080fd5b505af11580156126cf573d6000803e3d6000fd5b50506000546126e4925060801b905087613f02565b600080546001600160801b031916608092831c1781556001600160a01b03891681526001602052604090205461271b911b87613f02565b6001600160a01b038881166000908152600160208190526040822080546001600160801b03191660809590951c9490941790935560718054938401815590527fa1fcd19bfe8c32a61095b6bfbb2664842857e148fcbb5188386c8cd40348d5b690910180546001600160a01b0319169184169190911790556127a1878787878787614caf565b866001600160a01b03167ff9e043edf72c472f6956335dea3cb1ca7150f556bca6cb2381be218f47a779f183606d546127d98a612362565b886127e38b612362565b896040516127f696959493929190615abe565b60405180910390a250505050505050565b60008190506000816001600160a01b031663525564216040518163ffffffff1660e01b815260040160206040518083038186803b15801561284757600080fd5b505afa15801561285b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061287f9190810190615418565b60735490915060ff161561289257600080fd5b6073805460ff19166001179055606854604051600160e01b632ea779170281526000916001600160a01b036101009091041690632ea77917906128d9908890600401615d0b565b60206040518083038186803b1580156128f157600080fd5b505afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129299190810190615418565b90506001600160a01b03811615612b0057836001600160a01b031663f5537ede838a6129548b612362565b6040518463ffffffff1660e01b815260040161297293929190615a7b565b602060405180830381600087803b15801561298c57600080fd5b505af11580156129a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129c49190810190615501565b15612b00576129dc82896129d78a612362565b614d17565b506129e8818784614e1a565b6001600160a01b038083166000908152606f60209081526040808320888516808552818452918420600481018054600181018255908652848620018054968f166001600160a01b0319909716969096179095559252526003810154612a509060801b89613f02565b6001600160a01b038481166000908152606f60209081526040808320938a1683529290522060030180546001600160801b03191660809290921c91909117905542612aa08a858b8b8b868c614ea2565b896001600160a01b03167f4a4fcb3c9b6849f5cb3825d707d3fce0c615b52367c65422a3ad74816ab3275387606d54612ad88d612362565b8b612ae28e612362565b87604051612af596959493929190615abe565b60405180910390a250505b50506073805460ff19169055505050505050565b6068805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600082600160991b6c2a37b5b2b72a3930b739b332b902141561365a576000612b7187612362565b6001600160a01b03808816600090815260706020908152604080832093881683529290522060030154612ba69060801b612362565b14156131f7576001600160a01b03808716600090815260706020908152604080832093871683529290522060020154607454612be29190614f39565b42106131f2576001600160a01b03808716600090815260706020908152604080832093871683529290529081206004018054612ce691612c69918b91606f918691908290612c2c57fe5b60009182526020808320909101546001600160a01b0390811684528382019490945260409283018220938b1682529290925290205460801b614f49565b6001600160a01b03808a166000908152607060209081526040808320938a1683529290529081206004018054606f9291908290612ca257fe5b60009182526020808320909101546001600160a01b0390811684528382019490945260409283018220938a16825292909252902054600160801b900460801b614a27565b60735490915060ff1615612cf957600080fd5b6073805460ff19166001179055612d148161108460006106e5565b60000b600114156131e3576001600160a01b03808816600090815260706020908152604080832093881683529290529081206004018054606f9183918290612d5857fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301822089851683529052818120600101546068549251600160e01b632ea77917028152909450909261010090920490911690632ea7791790612dc4908590600401615d0b565b60206040518083038186803b158015612ddc57600080fd5b505afa158015612df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e149190810190615418565b905081600160d91b6432ba3432b9021415612e3857612e3389846151ee565b612e43565b612e4381848b614e1a565b604051600160e01b63f16725910281526001600160a01b0387169063f167259190612e72908d90600401615b83565b600060405180830381600087803b158015612e8c57600080fd5b505af1158015612ea0573d6000803e3d6000fd5b5050600054612eb5925060801b90508b613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b03871690634c09928790612f00908c908e90600401615aa3565b600060405180830381600087803b158015612f1a57600080fd5b505af1158015612f2e573d6000803e3d6000fd5b5050506001600160a01b038a16600090815260016020526040902054612f58915060801b8b613ef4565b6001600160a01b038a16600081815260016020526040902080546001600160801b03191660809390931c929092179091557f7684b39e31475e1a38b6e3a751004b3ecccbd7d0e1d54d9f43e8e7f1e4e7cb0d87612fb48d612362565b8b612fbe88612362565b87604051612fd0959493929190615b18565b60405180910390a26001600160a01b03808a166000908152607060209081526040808320938a1683529290529081206004018054829061300c57fe5b60009182526020822001546001600160a01b031691505b6001600160a01b038083166000908152606f60209081526040808320938c1683529290522060040154811015613184576001600160a01b038281166000908152606f602090815260408083208c8516845290915290206004018054918d16918390811061308c57fe5b6000918252602090912001546001600160a01b0316141561317c576001600160a01b038083166000908152606f60209081526040808320938c168352929052206004018054829081106130db57fe5b600091825260208083209190910180546001600160a01b03191690556001600160a01b038481168352606f82526040808420918c16845291529020805460039091015461313e91608090811b91611deb916131389184911b614f49565b8f614a27565b6001600160a01b038381166000908152606f60209081526040808320938d1683529290522080546001600160801b03191660809290921c9190911790555b600101613023565b506001600160a01b03808b166000908152607060209081526040808320938b16835292905290812081815560018101829055600281018290556003810180546001600160801b0319169055906131dd60048301826152aa565b50505050505b50506073805460ff1916905560015b613653565b6001600160a01b038681166000908152606f60209081526040808320938716835292905220805460039091015461323e9161323891608091821b911b613ef4565b886123fb565b60000b6136535760735460ff161561325557600080fd5b6073805460ff191660019081179091556001600160a01b038781166000908152606f6020908152604080832093881683529290529081209182015491546132d9906132a4908b9060801b614f49565b6001600160a01b03808b166000908152606f60209081526040808320938b1683529290522054600160801b900460801b614a27565b905081600160d91b6432ba3432b90214156132fd576132f888826151ee565b613395565b606854604051600160e01b632ea7791702815260009161010090046001600160a01b031690632ea7791790613336908690600401615d0b565b60206040518083038186803b15801561334e57600080fd5b505afa158015613362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133869190810190615418565b905061339381838b614e1a565b505b6001600160a01b038881166000908152606f6020908152604080832093891683529290522080546003909101546133e291608090811b91611deb916133dc9184911b614f49565b8c614a27565b6001600160a01b038981166000908152606f60209081526040808320938a16808452939091529081902080546001600160801b03191660809490941c939093179092559051600160e01b63f167259102815263f167259190613448908c90600401615b83565b600060405180830381600087803b15801561346257600080fd5b505af1158015613476573d6000803e3d6000fd5b505060005461348b925060801b90508a613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b03861690634c099287906134d6908b908d90600401615aa3565b600060405180830381600087803b1580156134f057600080fd5b505af1158015613504573d6000803e3d6000fd5b5050506001600160a01b03891660009081526001602052604090205461352e915060801b8a613ef4565b6001600160a01b038916600081815260016020526040902080546001600160801b03191660809390931c929092179091557f2d19a99480f5a3ef68b4447c6cca94ffc19c61d91a3baa80d015f30cfb2b46ac8661358a8c612362565b8a61359486612362565b876040516135a6959493929190615b18565b60405180910390a26001600160a01b038089166000908152606f60209081526040808320938916835292905220546135e19060801b8a6123fb565b60000b613643576001600160a01b038089166000908152606f60209081526040808320938916835292905290812081815560018101829055600281018290556003810180546001600160801b03191690559061364060048301826152aa565b50505b50506073805460ff191690555060015b9050611516565b82600160a11b6b21b0b9b42a3930b739b332b9021415611516576001600160a01b038086166000908152606f60209081526040808320938616835292905290812060020154607454829182916136b09190614f39565b4210613cf357606854604051600160e01b632ea779170281526101009091046001600160a01b031690632ea77917906136ed908a90600401615d0b565b60206040518083038186803b15801561370557600080fd5b505afa158015613719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061373d9190810190615418565b6001600160a01b03808a166000908152606f60209081526040808320938a16835292905220549093506137729060801b612362565b61377b8a612362565b1415613cf35760005b6001600160a01b03808a166000908152606f60209081526040808320938a1683529290522060040154811015613b27576001600160a01b03808a166000908152606f60209081526040808320938a1683529290529081206004018054839081106137ea57fe5b9060005260206000200160009054906101000a90046001600160a01b0316905060006138c660706000846001600160a01b03166001600160a01b0316815260200190815260200160002060008a6001600160a01b03166001600160a01b0316815260200190815260200160002060030160009054906101000a900460801b606f60008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008b6001600160a01b03166001600160a01b0316815260200190815260200160002060000160009054906101000a900460801b614f49565b6001600160a01b03808d166000908152606f60209081526040808320938d168352929052908120549192509061390090839060801b614a27565b60735490915060ff161561391357600080fd5b6073805460ff191660011790556001600160a01b0387161580159061394857506139418161108460006106e5565b60000b6001145b15613ab157613958878285614e1a565b6139628582613f02565b604051600160e01b63f16725910281529095506001600160a01b038a169063f167259190613994908490600401615b83565b600060405180830381600087803b1580156139ae57600080fd5b505af11580156139c2573d6000803e3d6000fd5b50506000546139d7925060801b905082613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b038a1690634c09928790613a229086908590600401615aa3565b600060405180830381600087803b158015613a3c57600080fd5b505af1158015613a50573d6000803e3d6000fd5b5050506001600160a01b038416600090815260016020526040902054613a7a915060801b82613ef4565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c9290921790915595505b6073805460ff191690558515613b1c576001600160a01b038084166000908152607060209081526040808320938d16835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613b1960048301826152aa565b50505b505050600101613784565b8215613cf1576001600160a01b03808a166000908152606f60209081526040808320938a16835292905290812060030154613b6690849060801b614f49565b6001600160a01b03808c166000908152606f60209081526040808320938c1683529290529081205491925090613ba690600160801b900460801b83614a27565b6001600160a01b03808d166000908152606f60209081526040808320938d1683529290522060010154909150600160d91b6432ba3432b902811415613bf457613bef8c836151ee565b613bff565b613bff87838e614e1a565b6001600160a01b03808d166000908152606f60209081526040808320938d168352929052206004015460001901841415613c8e576001600160a01b03808d166000908152606f60209081526040808320938d16835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613c8b60048301826152aa565b50505b6000613c998e612362565b90508c6001600160a01b03167f2d19a99480f5a3ef68b4447c6cca94ffc19c61d91a3baa80d015f30cfb2b46ac8b838f613cd288612362565b87604051613ce4959493929190615b18565b60405180910390a2505050505b505b5091506115169050565b6000613d0a848484614d17565b156108ac57604051600160e11b637aa9bf6f0281526001600160a01b0386169063f5537ede90613d4290879087908790600401615a7b565b602060405180830381600087803b158015613d5c57600080fd5b505af1158015613d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d949190810190615501565b156108ac576001600160a01b0380851660009081526070602081815260408084208a86168086529083528185209589168552928252808420928452919052902081548154608091821b821c6001600160801b0319918216178084558454600160801b90819004841b841c026001600160801b03919091161783556001808501549084015560028085015490840155600380850154908401805491841b90931c911617905560048083018054613e4c92840191906152c8565b5050506001600160a01b038085166000908152607060209081526040808320938916835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613ea760048301826152aa565b505060019050610e67565b6068805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b303b1590565b3390565b60006123f483600160ff1b84185b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415613f785780617fff1415613f6e576001600160801b03198581169085161415613f5b5784925050506116e4565b50600160ef1b61ffff0291506116e49050565b84925050506116e4565b80617fff1415613f8c5783925050506116e4565b6001607f1b608086901c6001600160801b0381169190911015906001600160701b031683613fbd5760019350613fc4565b600160701b175b6001607f1b608087901c6001600160801b0381169190911015906001600160701b031684613ff55760019450613ffc565b600160701b175b8261402c576001600160801b03198816600160ff1b1461401c578761401f565b60005b96505050505050506116e4565b8061404c576001600160801b03198916600160ff1b1461401c578861401f565b848603841515831515141561417257607081131561407357899750505050505050506116e4565b6000811315614092578082600082121561408957fe5b901c91506140cc565b606f198112156140ab57889750505050505050506116e4565b60008112156140cc57806000038460008212156140c457fe5b901c93508596505b92810192600160711b84106140e7576001968701969390931c925b86617fff141561411c578461410457600160f01b617fff0261410e565b6001600160f01b03195b9750505050505050506116e4565b600160701b841015614131576000965061413e565b6001600160701b03841693505b83607088901b86614150576000614156565b6001607f1b5b6001600160801b0316171760801b9750505050505050506116e4565b600081131561418d57600184901b93506001870396506141a4565b60008112156141a457600182901b91506001860396505b60708113156141b65760019150614219565b60018113156141de57600181036001830360008212156141d257fe5b901c6001019150614219565b606f198112156141f15760019350614219565b600019811215614219576001816000030360018503600082121561421157fe5b901c60010193505b81841061422a578184039350614233565b83820393508294505b836142495750600096506116e495505050505050565b600061425485612124565b9050806071141561427a57600185901c6001600160701b031694506001880197506142c9565b60708110156142bc576070819003808911156142a9578086901b6001600160701b0316955080890398506142b6565b600098600019019590951b945b506142c9565b6001600160701b03851694505b87617fff14156142ff57856142e657600160f01b617fff026142f0565b6001600160f01b03195b985050505050505050506116e4565b84607089901b87614311576000614317565b6001607f1b5b6001600160801b0316171760801b985050505050505050506116e4565b6001600160a01b03811661435d57604051600160e51b62461bcd02815260040161171190615cfb565b6035546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603580546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160801b031986166143cf57600080fd5b604051600160e01b63a1c348810281526001600160a01b0384169063a1c34881906144009089908990600401615b91565b602060405180830381600087803b15801561441a57600080fd5b505af115801561442e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144529190810190615501565b61445e57506000611516565b606d54841461481757606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e647906144bc908a908790600590600401615c4c565b60006040518083038186803b1580156144d457600080fd5b505af41580156144e8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526145109190810190615651565b606d546040516020016145249291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b825261454f913090600401615ccb565b602060405180830381600087803b15801561456957600080fd5b505af115801561457d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145a1919081019061555f565b606a54604051600160e01b63f921e6470281529192506000916001600160a01b039091169063274200639073__stringutils___________________________9063f921e647906145fb908b908790600590600401615c4c565b60006040518083038186803b15801561461357600080fd5b505af4158015614627573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261464f9190810190615651565b606d546040516020016146639291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b825261468e913090600401615cac565b602060405180830381600087803b1580156146a857600080fd5b505af11580156146bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506146e0919081019061555f565b606a54604051600160e21b6313f493a70281529192506001600160a01b031690634fd24e9c906147169085908590600401615c31565b600060405180830381600087803b15801561473057600080fd5b505af1158015614744573d6000803e3d6000fd5b5050506000828152607260205260408120600160c01b6770757263686173650281556004810180546001600160a01b03808a166001600160a01b031992831617909255600583018054928d169290911691909117905560028101805460808d901c6001600160801b03199091161790556001810189905591506147c6906106e5565b6003820180546001600160801b03191660809290921c9190911790556147ed6127106106e5565b8160030160106101000a8154816001600160801b03021916908360801c0217905550505050614a1b565b606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e6479061486c908a908790600590600401615c4c565b60006040518083038186803b15801561488457600080fd5b505af4158015614898573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526148c09190810190615651565b6040516020016148d091906159e4565b60408051601f198184030181529082905263ffffffff831660e01b82526148fb913090600401615cac565b602060405180830381600087803b15801561491557600080fd5b505af1158015614929573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061494d919081019061555f565b6000818152607260205260409020600160c01b6770757263686173650281556004810180546001600160a01b038088166001600160a01b031992831617909255600583018054928b169290911691909117905560028101805460808b901c6001600160801b03199091161790556001808201889055919250906149cf906106e5565b6003820180546001600160801b03191660809290921c9190911790556149f66127106106e5565b8160030160106101000a8154816001600160801b03021916908360801c021790555050505b50600195945050505050565b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415614adf5780617fff1415614aaa576001600160801b03198581169085161415614a8757505050600160ff1b811682186116e4565b600160ff1b6001600160801b0319868618161415613f5b575050508181176116e4565b600160801b600160ff1b038416614ace5750600160ef1b61ffff0291506116e49050565b505050600160ff1b811682186116e4565b80617fff1415614b1e57600160801b600160ff1b038516614b0d5750600160ef1b61ffff0291506116e49050565b505050600160ff1b821681186116e4565b6001600160701b03608086901c1682614b3a5760019250614b41565b600160701b175b6001600160701b03608086901c1682614b5d5760019250614b64565b600160701b175b9081029081614b9157600160ff1b87871816614b815760006124f8565b600160ff1b9450505050506116e4565b928201926000600160e11b831015614bc557600160e01b831015614bbd57614bb883612124565b614bc0565b60e05b614bc8565b60e15b90506140708186011015614be3576000945060009250614c80565b6140e08186011015614c2657614070851015614c0857846140700383901c9250614c1d565b614070851115614c1d57614070850383901b92505b60009450614c80565b61c0dd8186011115614c4057617fff945060009250614c80565b6070811115614c57576070810383901c9250614c6a565b6070811015614c6a578060700383901b92505b6001600160701b03831692506140df8186010394505b82607086901b888a186001607f1b60801b1660801c6001600160801b0316171760801b955050505050506116e4565b6001600160a01b039586166000908152606f6020908152604080832093909816825291909152949094208054608093841c600160801b029490931c6001600160801b0319909316929092176001600160801b0316929092178155600181019190915560020155565b6000614d46614d25836106e5565b6001600160a01b03861660009081526001602052604090205460801b6123fb565b60000b6000191480614d645750614d5f614d25836106e5565b60000b155b15614e10576001600160a01b038416600090815260016020526040902054614d929060801b611deb846106e5565b6001600160a01b0385811660009081526001602052604080822080546001600160801b031916608095861c17905591861681522054614dd5911b611e31846106e5565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c9290921790915590506123f4565b5060009392505050565b604051600160e51b623f7fb90281526001600160a01b038416906307eff72090614e4a9085908590600401615b91565b602060405180830381600087803b158015614e6457600080fd5b505af1158015614e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614e9c919081019061551f565b50505050565b6001600160a01b039687166000908152607060209081526040808320938a168352928152918120600481018054600180820183559184529390922090920180546001600160a01b03191697909816969096179096556003860180546001600160801b031916608095861c17905585546001600160801b0316600160801b9390941c9290920292909217845591830155600290910155565b818101828110156116e457600080fd5b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415614f965780617fff1415614ace5750600160ef1b61ffff0291506116e49050565b80617fff1415614fd657600160801b600160f01b03841615614fc55750600160ef1b61ffff0291506116e49050565b505050808218600160ff1b166116e4565b600160801b600160ff1b03841661502657600160801b600160ff1b03851661500b5750600160ef1b61ffff0291506116e49050565b505050808218600160ff1b16600160f01b617fff02176116e4565b6001600160701b03608085901c16816150425760019150615049565b600160701b175b6001600160701b03608087901c168361508857801561508357600061506d82612124565b6001955060e20393840160711901939190911b90505b615092565b600160701b1760721b5b81818161509b57fe5b049050806150b757600160ff1b87871816614b815760006124f8565b6001606c1b8110156150c557fe5b6000600160731b82101561510557600160721b8210156150fa57600160711b8210156150f25760706150f5565b60715b6150fd565b60725b60ff1661510e565b61510e82612124565b90508361407101818601111561512c57617fff9450600091506151bf565b83818601613ffc0110156151475760009450600091506151bf565b83818601613f8c011015615194578385613ffc011115615172578385613ffc010382901b915061518b565b8385613ffc01101561518b57613ffc8585030382901c91505b600094506151bf565b60708111156151a7576070810382901c91505b6001600160701b038216915083818601613f8d010394505b81607086901b888a186001607f1b60801b1660801c6001600160801b0316171760801b955050505050506116e4565b816001600160a01b03166108fc61520483612362565b6040518115909202916000818181858888f19350505050158015611418573d6000803e3d6000fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061526d57805160ff191683800117855561529a565b8280016001018555821561529a579182015b8281111561529a57825182559160200191906001019061527f565b506152a6929150615314565b5090565b5080546000825590600052602060002090810190611fa79190615314565b8280548282559060005260206000209081019282156153085760005260206000209182015b828111156153085782548255916001019190600101906152ed565b506152a692915061532e565b610f1091905b808211156152a6576000815560010161531a565b610f1091905b808211156152a65780546001600160a01b0319168155600101615334565b60006123f48235615e22565b60006123f48251615e22565b60006123f48251615e2d565b60006123f48235615e32565b60006123f48251615e32565b60006123f48235610f10565b60006123f48251610f10565b600082601f8301126153b757600080fd5b81516153ca6153c582615de7565b615dc0565b915080825260208301602083018583830111156153e657600080fd5b6153f1838284615e72565b50505092915050565b60006020828403121561540c57600080fd5b6000610e678484615352565b60006020828403121561542a57600080fd5b6000610e67848461535e565b6000806040838503121561544957600080fd5b60006154558585615352565b925050602061546685828601615352565b9150509250929050565b6000806000806080858703121561548657600080fd5b60006154928787615352565b94505060206154a387828801615352565b93505060406154b48782880161538e565b92505060606154c587828801615352565b91505092959194509250565b600080604083850312156154e457600080fd5b60006154f08585615352565b92505060206154668582860161538e565b60006020828403121561551357600080fd5b6000610e67848461536a565b60006020828403121561553157600080fd5b6000610e678484615382565b6000806000806080858703121561555357600080fd5b60006154928787615376565b60006020828403121561557157600080fd5b6000610e67848461539a565b60008060006060848603121561559257600080fd5b600061559e868661538e565b93505060206155af86828701615376565b92505060406155c08682870161538e565b9150509250925092565b60008060008060008060c087890312156155e357600080fd5b60006155ef898961538e565b965050602061560089828a0161538e565b955050604061561189828a01615352565b945050606061562289828a01615352565b935050608061563389828a01615352565b92505060a061564489828a01615352565b9150509295509295509295565b60006020828403121561566357600080fd5b815167ffffffffffffffff81111561567a57600080fd5b610e67848285016153a6565b60006020828403121561569857600080fd5b6000610e67848461538e565b60006156b083836156c7565b505060200190565b6156c181615e51565b82525050565b6156c181615e22565b6156c16156dc82615e22565b615e9e565b60006156ec82615e15565b6156f68185615e19565b935061570183615e0f565b60005b8281101561572c576157178683516156a4565b955061572282615e0f565b9150600101615704565b5093949350505050565b6156c181615e2d565b6156c181615e32565b6156c181610f10565b6156c161575d82610f10565b610f10565b600061576d82615e15565b6157778185615e19565b9350615787818560208601615e72565b61579081615eaf565b9093019392505050565b6156c181615e5c565b60006157ae82615e15565b6157b881856106e0565b93506157c8818560208601615e72565b9290920192915050565b600160e21b63109bdb99029052565b60006157ee602683615e19565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20618152600160d01b6564647265737302602082015260400192915050565b600160e91b623b32b9029052565b600160cb1b660acd2c286c2e6d029052565b600160ca1b66115d1a109bdb99029052565b600061586b600383615e19565b600160eb1b620cae8d02815260200192915050565b600160d21b65195d1a1d5cd9029052565b600061589e6009836106e0565b600160b81b6856585553445f746f5f02815260090192915050565b600160f11b6134b9029052565b600160f11b6132b9029052565b60006158e0602083615e19565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000615919602e83615e19565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b60006159786004836106e0565b600160e01b635f746f5f02815260040192915050565b600160c81b6669737375696e67029052565b6156c181615e4b565b60006159b582856156d0565b6014820191506159c58284615751565b5060200192915050565b60006159db8284615751565b50602001919050565b60006123f482846157a3565b60006159fc82856157a3565b9150615a078261596b565b91506159c58284615751565b6000615a1e82615891565b91506159db8284615751565b602081016116e482846156c7565b602081016116e482846156b8565b60808101615a5482876156c7565b615a6160208301866156c7565b615a6e6040830185615748565b6115166060830184615748565b60608101615a8982866156c7565b615a9660208301856156c7565b610e676040830184615748565b60408101615ab182856156c7565b6123f4602083018461573f565b60c08101615acc82896156c7565b615ad96020830188615748565b615ae66040830187615748565b615af36060830186615748565b615b006080830185615748565b615b0d60a0830184615748565b979650505050505050565b60a08101615b2682886156c7565b615b336020830187615748565b615b406040830186615748565b615b4d6060830185615748565b615b5a6080830184615748565b9695505050505050565b602080825281016123f481846156e1565b602081016116e48284615736565b602081016116e4828461573f565b60408101615b9f828561573f565b6123f460208301846156c7565b60a08101615bba828861573f565b615bc7602083018761573f565b615bd46040830186615748565b615be16060830185615748565b615b5a608083018461573f565b602081016116e48284615748565b60a08101615c0a8288615748565b615c17602083018761573f565b615c246040830186615748565b615be1606083018561573f565b60408101615c3f8285615748565b6123f46020830184615748565b60608101615c5a8286615748565b615c67602083018561579a565b610e67604083018461579a565b60808082528101615c858185615762565b9050615c936020830161582c565b615c9f604083016157d2565b6123f460608301846156c7565b60808082528101615cbd8185615762565b9050615c93602083016158b9565b60808082528101615cdc8185615762565b9050615c93602083016158c6565b602080825281016123f48184615762565b602080825281016116e4816157e1565b60408101615d188261583a565b6116e46020830184615748565b60808082528101615d358161585e565b9050615d4360208301615880565b615d4f6040830161584c565b6116e460608301846156c7565b602080825281016116e4816158d3565b602080825281016116e48161590c565b602081016106e08261598e565b60808101615d978287615748565b615a616020830186615748565b60a08101615b268288615748565b602081016116e482846159a0565b60405181810167ffffffffffffffff81118282101715615ddf57600080fd5b604052919050565b600067ffffffffffffffff821115615dfe57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006116e482615e3f565b151590565b6001600160801b03191690565b6001600160a01b031690565b60ff1690565b60006116e482615e67565b60006116e482610f10565b60006116e482615e22565b60005b83811015615e8d578181015183820152602001615e75565b83811115614e9c5750506000910152565b60006116e48260006116e482615eb9565b601f01601f191690565b60601b9056fea265627a7a72305820edaf9b35cf53a7a452290fe6bd171c624fdb9cde09ff7a8131b26354047bacbd6c6578706572696d656e74616cf50037",
|
|
792
|
+
"deployedBytecode": "0x6080604052600436106101b75760003560e01c80638456cb59116100ec57806395d89b411161008a578063c4d66de811610064578063c4d66de814610529578063d478b27414610549578063f2fde38b14610569578063f6fd5c7914610589576101b7565b806395d89b41146104df578063a9059cbb146104f4578063b187bd2614610514576101b7565b80638b140f6b116100c65780638b140f6b146104555780638da5cb5b146104775780638f32d59b146104995780638fba9c7c146104ae576101b7565b80638456cb591461040b578063887b6abc1461042057806389d29c4c14610435576101b7565b80633f4ba83a1161015957806370a082311161013357806370a0823114610396578063715018a6146103b657806379537570146103cb57806381ca86fe146103eb576101b7565b80633f4ba83a14610331578063410a6c7d146103465780636b98f83514610376576101b7565b806327e235e31161019557806327e235e3146102845780632c5fc01d146102b1578063313ce567146102de57806339baf48014610300576101b7565b806306fdde031461021557806318160ddd1461024057806321f68b4e14610262575b346101c157600080fd5b36156101cc57600080fd5b60685460ff16156101dc57600080fd5b6101e5336105a9565b15156001146101f357600080fd5b6102126101ff346106e5565b33600160d91b6432ba3432b9023061074a565b50005b34801561022157600080fd5b5061022a610e6f565b6040516102379190615cea565b60405180910390f35b34801561024c57600080fd5b50610255610efd565b6040516102379190615bee565b34801561026e57600080fd5b5061028261027d36600461557d565b610f13565b005b34801561029057600080fd5b506102a461029f3660046153fa565b61141d565b6040516102379190615b83565b3480156102bd57600080fd5b506102d16102cc36600461553d565b611432565b6040516102379190615b75565b3480156102ea57600080fd5b506102f361151f565b6040516102379190615db2565b34801561030c57600080fd5b5061032061031b366004615436565b611524565b604051610237959493929190615bac565b34801561033d57600080fd5b50610282611566565b34801561035257600080fd5b50610366610361366004615436565b6115c6565b6040516102379493929190615d89565b34801561038257600080fd5b50610320610391366004615436565b61167d565b3480156103a257600080fd5b506102556103b13660046153fa565b6116bf565b3480156103c257600080fd5b506102826116ea565b3480156103d757600080fd5b506102d16103e636600461553d565b611764565b3480156103f757600080fd5b506102d1610406366004615470565b611865565b34801561041757600080fd5b50610282611955565b34801561042c57600080fd5b506102556119b1565b34801561044157600080fd5b506102826104503660046155ca565b6119b7565b34801561046157600080fd5b5061046a611b9c565b6040516102379190615b64565b34801561048357600080fd5b5061048c611bfe565b6040516102379190615a2a565b3480156104a557600080fd5b506102d1611c0d565b3480156104ba57600080fd5b506104ce6104c9366004615436565b611c33565b604051610237959493929190615da4565b3480156104eb57600080fd5b5061022a611d23565b34801561050057600080fd5b506102d161050f3660046154d1565b611d7e565b34801561052057600080fd5b506102d1611e72565b34801561053557600080fd5b506102826105443660046153fa565b611e7b565b34801561055557600080fd5b5061048c610564366004615686565b611f50565b34801561057557600080fd5b506102826105843660046153fa565b611f77565b34801561059557600080fd5b506102d16105a436600461553d565b611faa565b600080606860019054906101000a90046001600160a01b03166001600160a01b03166359dc735c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105fa57600080fd5b505afa15801561060e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106329190810190615418565b90506001600160a01b03811661064c5760019150506106e0565b604051600160e01b633a2910330281526001600160a01b03821690633a2910339061067b908690600401615a2a565b60206040518083038186803b15801561069357600080fd5b505afa1580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106cb9190810190615501565b156106da5760019150506106e0565b60009150505b919050565b6000816106f4575060006106e0565b81600061070082612124565b90506070811015610719578060700382901b915061072c565b607081111561072c576070810382901c91505b613fff0160701b6001600160701b03919091161760801b90506106e0565b60006001600160801b0319851661076057600080fd5b610769856121c7565b945082600160d91b6432ba3432b902146108b457606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906107b4908590600401615a2a565b60206040518083038186803b1580156107cc57600080fd5b505afa1580156107e0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610804919081019061555f565b600160cb1b660acd2c286c2e6d0214156108ac57604051600160e01b63a1c348810281526001600160a01b0383169063a1c34881906108499088908890600401615b91565b602060405180830381600087803b15801561086357600080fd5b505af1158015610877573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061089b9190810190615501565b6108a757506000610e67565b6108b4565b506000610e67565b82600160d91b6432ba3432b9021415610c7757606d54600160da1b6415961554d10214610b2757606a54604051600160e01b63274200630281526000916001600160a01b03169063274200639061090f903090600401615d25565b602060405180830381600087803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610961919081019061555f565b606a54606d546040519293506000926001600160a01b039092169163274200639161098e91602001615a13565b60408051601f198184030181529082905263ffffffff831660e01b82526109b9913090600401615c74565b602060405180830381600087803b1580156109d357600080fd5b505af11580156109e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a0b919081019061555f565b606a54604051600160e21b6313f493a70281529192506001600160a01b031690634fd24e9c90610a419085908590600401615c31565b600060405180830381600087803b158015610a5b57600080fd5b505af1158015610a6f573d6000803e3d6000fd5b5050506000828152607260205260408120600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b038b161790556002810180546001600160801b03191660808c901c179055600181018890559150610ad5906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610b0160006106e5565b60039190910180546001600160801b03191660809290921c91909117905550610c729050565b606d54600160da1b6415961554d1021415610c7257606a54604051600160e01b63274200630281526000916001600160a01b031690632742006390610b70903090600401615d25565b602060405180830381600087803b158015610b8a57600080fd5b505af1158015610b9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bc2919081019061555f565b6000818152607260205260408120600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b038a161790556002810180546001600160801b03191660808b901c17905560018101879055919250610c26906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610c5260016106e5565b60039190910180546001600160801b03191660809290921c919091179055505b610e63565b606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e64790610ccc9089908790600590600401615c4c565b60006040518083038186803b158015610ce457600080fd5b505af4158015610cf8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610d209190810190615651565b606d54604051602001610d349291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b8252610d5f913090600401615c74565b602060405180830381600087803b158015610d7957600080fd5b505af1158015610d8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610db1919081019061555f565b6000818152607260205260409020600160d81b6469737375650281556005810180546001600160a01b0319166001600160a01b0389161790556002810180546001600160801b03191660808a901c179055600180820187905591925090610e17906106e5565b8160020160106101000a8154816001600160801b03021916908360801c0217905550610e4360006106e5565b60039190910180546001600160801b03191660809290921c919091179055505b5060015b949350505050565b606b805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b820191906000526020600020905b815481529060010190602001808311610ed857829003601f168201915b505050505081565b60008054610f0d9060801b612362565b90505b90565b606a546001600160a01b03163314610f2a57600080fd5b80600160d21b65195d1a1d5cd9021415610f6957600083815260726020526040902060020180546001600160801b0316600160801b608085901c021790555b80600160f11b6134b9021415610fa457600083815260726020526040902060030180546001600160801b0316600160801b608085901c021790555b80600160f11b6132b9021415610fda57600083815260726020526040902060030180546001600160801b031916608084901c1790555b80600160e91b623b32b902141561101157600083815260726020526040902060030180546001600160801b031916608084901c1790555b600083815260726020526040902054600160d81b6469737375650214156112165780600160d21b65195d1a1d5cd9021480611054575080600160e91b623b32b902145b156112115760008381526072602052604081206002015461108991600160801b90910460801b90611084906106e5565b6123fb565b60000b158015906110c157506000838152607260205260408120600301546110bb9160809190911b90611084906106e5565b60000b15155b1561121157606d54600084815260726020526040808220600281015460018201546003909201549251600160e21b631e61f511028152939473__paymentutils__________________________94637987d44494611138949293608081811b9493600160801b909204811b92901b90600401615bfc565b60206040518083038186803b15801561115057600080fd5b505af4158015611164573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611188919081019061551f565b6000858152607260205260409020600581015460028201546001909201549293506111c7926001600160a01b0390911691849160809190911b90612544565b506000838152607260205260408120818155600181018290556002810182905560038101919091556004810180546001600160a01b03199081169091556005909101805490911690555b611418565b600083815260726020526040902054600160c01b6770757263686173650214156114185780600160f11b6132b9021480611257575080600160f11b6134b902145b15611418576000838152607260205260408120600301546112829160809190911b90611084906106e5565b60000b158015906112bf57506000838152607260205260408120600301546112b991600160801b90910460801b90611084906106e5565b60000b15155b1561141857606d54600084815260726020526040808220600281015460018201546003909201549251600160e11b634dd1211f028152939473__paymentutils__________________________94639ba2423e94611337949293608090811b939282821b92600160801b900490911b90600401615bfc565b60206040518083038186803b15801561134f57600080fd5b505af4158015611363573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611387919081019061551f565b60008581526072602052604090206005810154600282015460018301546004909301549394506113ce936001600160a01b0392831693869360809390931b92909116612807565b506000838152607260205260408120818155600181018290556002810182905560038101919091556004810180546001600160a01b03199081169091556005909101805490911690555b505050565b60016020526000908152604090205460801b81565b60685460009060ff161561144557600080fd5b82606d54141561145457600080fd5b61145d846105a9565b151560011461146b57600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906114a2903390600401615a38565b60206040518083038186803b1580156114ba57600080fd5b505afa1580156114ce573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f2919081019061555f565b600160cb1b660acd2c286c2e6d021461150a57600080fd5b6115168585858561074a565b95945050505050565b600290565b606f6020908152600092835260408084209091529082529020805460018201546002830154600390930154608083811b94600160801b909404811b9391901b85565b606854339061010090046001600160a01b0316611581611bfe565b6001600160a01b0316826001600160a01b031614806115b15750806001600160a01b0316826001600160a01b0316145b6115ba57600080fd5b6115c2612b14565b5050565b6001600160a01b038083166000908152606f602090815260408083209385168352929052908120600301548190819081906116039060801b612362565b6001600160a01b038088166000908152606f60209081526040808320938a168352929052205461163c90600160801b900460801b612362565b6001600160a01b039788166000908152606f6020908152604080832099909a1682529790975296909520600181015460029091015495979095945092505050565b60706020908152600092835260408084209091529082529020805460018201546002830154600390930154608083811b94600160801b909404811b9391901b85565b6001600160a01b0381166000908152600160205260408120546116e49060801b612362565b92915050565b6116f2611c0d565b61171a57604051600160e51b62461bcd02815260040161171190615d5c565b60405180910390fd5b6035546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3603580546001600160a01b0319169055565b60685460009060ff161561177757600080fd5b611780846105a9565b151560011461178e57600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906117c5903390600401615a38565b60206040518083038186803b1580156117dd57600080fd5b505afa1580156117f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611815919081019061555f565b600160a11b6b2b34b0a137b7322a37b5b2b7021461183257600080fd5b611851858585600160a11b6b21b0b9b42a3930b739b332b90286612b49565b61185d57506000610e67565b506001610e67565b60685460009060ff161561187857600080fd5b611881856105a9565b151560011461188f57600080fd5b611898846105a9565b15156001146118a657600080fd5b6001600160a01b03841630148015906118d05750816001600160a01b0316846001600160a01b0316145b1561190c576118ff6118e1846106e5565b86606d54600160991b6c2a37b5b2b72a3930b739b332b90286612b49565b156108ac57506001610e67565b6001600160a01b0380861660009081526070602090815260408083209386168352929052206003015483906119439060801b612362565b14156108ac576118ff82868686613cfd565b606854339061010090046001600160a01b0316611970611bfe565b6001600160a01b0316826001600160a01b031614806119a05750806001600160a01b0316826001600160a01b0316145b6119a957600080fd5b6115c2613eb2565b606d5481565b600254610100900460ff16806119d057506119d0613eea565b806119de575060025460ff16155b6119fd57604051600160e51b62461bcd02815260040161171190615d6c565b600254610100900460ff16158015611a28576002805460ff1961ff0019909116610100171660011790555b611a3185611e7b565b60688054610100600160a81b0319163361010002179055606a80546001600160a01b0319166001600160a01b038616179055604051611a749088906020016159cf565b604051602081830303815290604052606b9080519060200190611a9892919061522c565b50604051600160e01b63f921e64702815273__stringutils___________________________9063f921e64790611ad9908a90600090600590600401615c4c565b60006040518083038186803b158015611af157600080fd5b505af4158015611b05573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b2d9190810190615651565b8051611b4191606c9160209091019061522c565b50606d869055606e80546001600160a01b038086166001600160a01b03199283161790925560698054928516929091169190911790556073805460ff191690558015611b93576002805461ff00191690555b50505050505050565b60606071805480602002602001604051908101604052809291908181526020018280548015611bf457602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311611bd6575b5050505050905090565b6035546001600160a01b031690565b6035546000906001600160a01b0316611c24613ef0565b6001600160a01b031614905090565b6001600160a01b038083166000908152606f602090815260408083209385168352929052908120548190819081908190611c6f9060801b612362565b6001600160a01b038089166000908152606f60209081526040808320938b1683529290522060030154611ca49060801b612362565b6001600160a01b03808a166000908152606f60209081526040808320938c1683529290522054611cdd90600160801b900460801b612362565b6001600160a01b03998a166000908152606f602090815260408083209b909c16825299909952989097206001810154600290910154919997989790965090945092505050565b606c805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610ef55780601f10610eca57610100808354040283529160200191610ef5565b6000611da4611d8c836106e5565b3060009081526001602052604090205460801b6123fb565b60000b6000191480611dc25750611dbd611d8c836106e5565b60000b155b611dcb57600080fd5b30600090815260016020526040902054611df09060801b611deb846106e5565b613ef4565b3060009081526001602052604080822080546001600160801b031916608094851c1790556001600160a01b0386168252902054611e36911b611e31846106e5565b613f02565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c92909217909155905092915050565b60685460ff1690565b600254610100900460ff1680611e945750611e94613eea565b80611ea2575060025460ff16155b611ec157604051600160e51b62461bcd02815260040161171190615d6c565b600254610100900460ff16158015611eec576002805460ff1961ff0019909116610100171660011790555b603580546001600160a01b0319166001600160a01b0384811691909117918290556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a380156115c2576002805461ff00191690555050565b60718181548110611f5d57fe5b6000918252602090912001546001600160a01b0316905081565b611f7f611c0d565b611f9e57604051600160e51b62461bcd02815260040161171190615d5c565b611fa781614334565b50565b60685460009060ff1615611fbd57600080fd5b611fc6846105a9565b1515600114611fd457600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b9061200b903390600401615a38565b60206040518083038186803b15801561202357600080fd5b505afa158015612037573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061205b919081019061555f565b600160a11b6b2b34b0a137b7322a37b5b2b7021461207857600080fd5b606854604051600160e01b63f429f19b0281526101009091046001600160a01b03169063f429f19b906120af908590600401615a2a565b60206040518083038186803b1580156120c757600080fd5b505afa1580156120db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ff919081019061555f565b600160cb1b660acd2c286c2e6d021461211757600080fd5b61151685858585336143b9565b600080821161213257600080fd5b6000600160801b831061214757608092831c92015b68010000000000000000831061215f57604092831c92015b640100000000831061217357602092831c92015b62010000831061218557601092831c92015b610100831061219657600892831c92015b601083106121a657600492831c92015b600483106121b657600292831c92015b600283106116e45760010192915050565b606954604051600160e01b63e5f3d3a50281526000918291612254916001600160a01b03169063e5f3d3a5906121ff90600401615d7c565b60206040518083038186803b15801561221757600080fd5b505afa15801561222b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224f919081019061555f565b6106e5565b9050600061226182612362565b1561235a5760695460408051600160e11b637a55098102815290516000926001600160a01b03169163f4aa1302916004808301926020929190829003018186803b1580156122ae57600080fd5b505afa1580156122c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122e69190810190615418565b90506001600160a01b0381161561235857806001600160a01b03166108fc6123166123118689614a27565b612362565b6040518115909202916000818181858888f1935050505015801561233e573d6000803e3d6000fd5b5061234d85611deb8588614a27565b93506106e092505050565b505b509192915050565b6000617fff6001600160801b03608084901c1660701c16613fff81101561238d5760009150506106e0565b6001607f1b8360801c6001600160801b0316106123a957600080fd5b6140fe8111156123b857600080fd5b600160701b6001600160701b03608085901c161761406f8210156123e25761406f8290031c6123f4565b61406f8211156123f45761406e1982011b5b9392505050565b600060016001607f1b03608084901c16600160701b617fff0281111561242057600080fd5b60016001607f1b03608084901c16600160701b617fff0281111561244357600080fd5b6001600160801b031985811690851614158061246f5750600160701b617fff02826001600160801b0316105b61247857600080fd5b6001600160801b03198581169085161415612498576000925050506116e4565b60006001607f1b8660801c6001600160801b03161015905060006001607f1b8660801c6001600160801b03161015905081156125035780156124f457826001600160801b0316846001600160801b0316116124f45760016124f8565b6000195b9450505050506116e4565b80156125165760019450505050506116e4565b826001600160801b0316846001600160801b031611612537576000196124f8565b60019450505050506116e4565b606854606e54606d5460405142936000936001600160a01b03610100909204821693638d5040cc9391909216918a9161258390839089906020016159a9565b604051602081830303815290604052805190602001206040518563ffffffff1660e01b81526004016125b89493929190615a46565b602060405180830381600087803b1580156125d257600080fd5b505af11580156125e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061260a9190810190615418565b604051600160e21b632926e29302815290915081906001600160a01b0382169063a49b8a4c90612640908a908a90600401615aa3565b600060405180830381600087803b15801561265a57600080fd5b505af115801561266e573d6000803e3d6000fd5b5050604051600160e01b63014153330281526001600160a01b0384169250630141533391506126a1908990600401615b83565b600060405180830381600087803b1580156126bb57600080fd5b505af11580156126cf573d6000803e3d6000fd5b50506000546126e4925060801b905087613f02565b600080546001600160801b031916608092831c1781556001600160a01b03891681526001602052604090205461271b911b87613f02565b6001600160a01b038881166000908152600160208190526040822080546001600160801b03191660809590951c9490941790935560718054938401815590527fa1fcd19bfe8c32a61095b6bfbb2664842857e148fcbb5188386c8cd40348d5b690910180546001600160a01b0319169184169190911790556127a1878787878787614caf565b866001600160a01b03167ff9e043edf72c472f6956335dea3cb1ca7150f556bca6cb2381be218f47a779f183606d546127d98a612362565b886127e38b612362565b896040516127f696959493929190615abe565b60405180910390a250505050505050565b60008190506000816001600160a01b031663525564216040518163ffffffff1660e01b815260040160206040518083038186803b15801561284757600080fd5b505afa15801561285b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061287f9190810190615418565b60735490915060ff161561289257600080fd5b6073805460ff19166001179055606854604051600160e01b632ea779170281526000916001600160a01b036101009091041690632ea77917906128d9908890600401615d0b565b60206040518083038186803b1580156128f157600080fd5b505afa158015612905573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129299190810190615418565b90506001600160a01b03811615612b0057836001600160a01b031663f5537ede838a6129548b612362565b6040518463ffffffff1660e01b815260040161297293929190615a7b565b602060405180830381600087803b15801561298c57600080fd5b505af11580156129a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129c49190810190615501565b15612b00576129dc82896129d78a612362565b614d17565b506129e8818784614e1a565b6001600160a01b038083166000908152606f60209081526040808320888516808552818452918420600481018054600181018255908652848620018054968f166001600160a01b0319909716969096179095559252526003810154612a509060801b89613f02565b6001600160a01b038481166000908152606f60209081526040808320938a1683529290522060030180546001600160801b03191660809290921c91909117905542612aa08a858b8b8b868c614ea2565b896001600160a01b03167f4a4fcb3c9b6849f5cb3825d707d3fce0c615b52367c65422a3ad74816ab3275387606d54612ad88d612362565b8b612ae28e612362565b87604051612af596959493929190615abe565b60405180910390a250505b50506073805460ff19169055505050505050565b6068805460ff191690556040517fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693390600090a1565b600082600160991b6c2a37b5b2b72a3930b739b332b902141561365a576000612b7187612362565b6001600160a01b03808816600090815260706020908152604080832093881683529290522060030154612ba69060801b612362565b14156131f7576001600160a01b03808716600090815260706020908152604080832093871683529290522060020154607454612be29190614f39565b42106131f2576001600160a01b03808716600090815260706020908152604080832093871683529290529081206004018054612ce691612c69918b91606f918691908290612c2c57fe5b60009182526020808320909101546001600160a01b0390811684528382019490945260409283018220938b1682529290925290205460801b614f49565b6001600160a01b03808a166000908152607060209081526040808320938a1683529290529081206004018054606f9291908290612ca257fe5b60009182526020808320909101546001600160a01b0390811684528382019490945260409283018220938a16825292909252902054600160801b900460801b614a27565b60735490915060ff1615612cf957600080fd5b6073805460ff19166001179055612d148161108460006106e5565b60000b600114156131e3576001600160a01b03808816600090815260706020908152604080832093881683529290529081206004018054606f9183918290612d5857fe5b60009182526020808320909101546001600160a01b039081168452838201949094526040928301822089851683529052818120600101546068549251600160e01b632ea77917028152909450909261010090920490911690632ea7791790612dc4908590600401615d0b565b60206040518083038186803b158015612ddc57600080fd5b505afa158015612df0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e149190810190615418565b905081600160d91b6432ba3432b9021415612e3857612e3389846151ee565b612e43565b612e4381848b614e1a565b604051600160e01b63f16725910281526001600160a01b0387169063f167259190612e72908d90600401615b83565b600060405180830381600087803b158015612e8c57600080fd5b505af1158015612ea0573d6000803e3d6000fd5b5050600054612eb5925060801b90508b613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b03871690634c09928790612f00908c908e90600401615aa3565b600060405180830381600087803b158015612f1a57600080fd5b505af1158015612f2e573d6000803e3d6000fd5b5050506001600160a01b038a16600090815260016020526040902054612f58915060801b8b613ef4565b6001600160a01b038a16600081815260016020526040902080546001600160801b03191660809390931c929092179091557f7684b39e31475e1a38b6e3a751004b3ecccbd7d0e1d54d9f43e8e7f1e4e7cb0d87612fb48d612362565b8b612fbe88612362565b87604051612fd0959493929190615b18565b60405180910390a26001600160a01b03808a166000908152607060209081526040808320938a1683529290529081206004018054829061300c57fe5b60009182526020822001546001600160a01b031691505b6001600160a01b038083166000908152606f60209081526040808320938c1683529290522060040154811015613184576001600160a01b038281166000908152606f602090815260408083208c8516845290915290206004018054918d16918390811061308c57fe5b6000918252602090912001546001600160a01b0316141561317c576001600160a01b038083166000908152606f60209081526040808320938c168352929052206004018054829081106130db57fe5b600091825260208083209190910180546001600160a01b03191690556001600160a01b038481168352606f82526040808420918c16845291529020805460039091015461313e91608090811b91611deb916131389184911b614f49565b8f614a27565b6001600160a01b038381166000908152606f60209081526040808320938d1683529290522080546001600160801b03191660809290921c9190911790555b600101613023565b506001600160a01b03808b166000908152607060209081526040808320938b16835292905290812081815560018101829055600281018290556003810180546001600160801b0319169055906131dd60048301826152aa565b50505050505b50506073805460ff1916905560015b613653565b6001600160a01b038681166000908152606f60209081526040808320938716835292905220805460039091015461323e9161323891608091821b911b613ef4565b886123fb565b60000b6136535760735460ff161561325557600080fd5b6073805460ff191660019081179091556001600160a01b038781166000908152606f6020908152604080832093881683529290529081209182015491546132d9906132a4908b9060801b614f49565b6001600160a01b03808b166000908152606f60209081526040808320938b1683529290522054600160801b900460801b614a27565b905081600160d91b6432ba3432b90214156132fd576132f888826151ee565b613395565b606854604051600160e01b632ea7791702815260009161010090046001600160a01b031690632ea7791790613336908690600401615d0b565b60206040518083038186803b15801561334e57600080fd5b505afa158015613362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133869190810190615418565b905061339381838b614e1a565b505b6001600160a01b038881166000908152606f6020908152604080832093891683529290522080546003909101546133e291608090811b91611deb916133dc9184911b614f49565b8c614a27565b6001600160a01b038981166000908152606f60209081526040808320938a16808452939091529081902080546001600160801b03191660809490941c939093179092559051600160e01b63f167259102815263f167259190613448908c90600401615b83565b600060405180830381600087803b15801561346257600080fd5b505af1158015613476573d6000803e3d6000fd5b505060005461348b925060801b90508a613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b03861690634c099287906134d6908b908d90600401615aa3565b600060405180830381600087803b1580156134f057600080fd5b505af1158015613504573d6000803e3d6000fd5b5050506001600160a01b03891660009081526001602052604090205461352e915060801b8a613ef4565b6001600160a01b038916600081815260016020526040902080546001600160801b03191660809390931c929092179091557f2d19a99480f5a3ef68b4447c6cca94ffc19c61d91a3baa80d015f30cfb2b46ac8661358a8c612362565b8a61359486612362565b876040516135a6959493929190615b18565b60405180910390a26001600160a01b038089166000908152606f60209081526040808320938916835292905220546135e19060801b8a6123fb565b60000b613643576001600160a01b038089166000908152606f60209081526040808320938916835292905290812081815560018101829055600281018290556003810180546001600160801b03191690559061364060048301826152aa565b50505b50506073805460ff191690555060015b9050611516565b82600160a11b6b21b0b9b42a3930b739b332b9021415611516576001600160a01b038086166000908152606f60209081526040808320938616835292905290812060020154607454829182916136b09190614f39565b4210613cf357606854604051600160e01b632ea779170281526101009091046001600160a01b031690632ea77917906136ed908a90600401615d0b565b60206040518083038186803b15801561370557600080fd5b505afa158015613719573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061373d9190810190615418565b6001600160a01b03808a166000908152606f60209081526040808320938a16835292905220549093506137729060801b612362565b61377b8a612362565b1415613cf35760005b6001600160a01b03808a166000908152606f60209081526040808320938a1683529290522060040154811015613b27576001600160a01b03808a166000908152606f60209081526040808320938a1683529290529081206004018054839081106137ea57fe5b9060005260206000200160009054906101000a90046001600160a01b0316905060006138c660706000846001600160a01b03166001600160a01b0316815260200190815260200160002060008a6001600160a01b03166001600160a01b0316815260200190815260200160002060030160009054906101000a900460801b606f60008e6001600160a01b03166001600160a01b0316815260200190815260200160002060008b6001600160a01b03166001600160a01b0316815260200190815260200160002060000160009054906101000a900460801b614f49565b6001600160a01b03808d166000908152606f60209081526040808320938d168352929052908120549192509061390090839060801b614a27565b60735490915060ff161561391357600080fd5b6073805460ff191660011790556001600160a01b0387161580159061394857506139418161108460006106e5565b60000b6001145b15613ab157613958878285614e1a565b6139628582613f02565b604051600160e01b63f16725910281529095506001600160a01b038a169063f167259190613994908490600401615b83565b600060405180830381600087803b1580156139ae57600080fd5b505af11580156139c2573d6000803e3d6000fd5b50506000546139d7925060801b905082613ef4565b600080546001600160801b03191660809290921c919091179055604051600160e01b634c0992870281526001600160a01b038a1690634c09928790613a229086908590600401615aa3565b600060405180830381600087803b158015613a3c57600080fd5b505af1158015613a50573d6000803e3d6000fd5b5050506001600160a01b038416600090815260016020526040902054613a7a915060801b82613ef4565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c9290921790915595505b6073805460ff191690558515613b1c576001600160a01b038084166000908152607060209081526040808320938d16835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613b1960048301826152aa565b50505b505050600101613784565b8215613cf1576001600160a01b03808a166000908152606f60209081526040808320938a16835292905290812060030154613b6690849060801b614f49565b6001600160a01b03808c166000908152606f60209081526040808320938c1683529290529081205491925090613ba690600160801b900460801b83614a27565b6001600160a01b03808d166000908152606f60209081526040808320938d1683529290522060010154909150600160d91b6432ba3432b902811415613bf457613bef8c836151ee565b613bff565b613bff87838e614e1a565b6001600160a01b03808d166000908152606f60209081526040808320938d168352929052206004015460001901841415613c8e576001600160a01b03808d166000908152606f60209081526040808320938d16835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613c8b60048301826152aa565b50505b6000613c998e612362565b90508c6001600160a01b03167f2d19a99480f5a3ef68b4447c6cca94ffc19c61d91a3baa80d015f30cfb2b46ac8b838f613cd288612362565b87604051613ce4959493929190615b18565b60405180910390a2505050505b505b5091506115169050565b6000613d0a848484614d17565b156108ac57604051600160e11b637aa9bf6f0281526001600160a01b0386169063f5537ede90613d4290879087908790600401615a7b565b602060405180830381600087803b158015613d5c57600080fd5b505af1158015613d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d949190810190615501565b156108ac576001600160a01b0380851660009081526070602081815260408084208a86168086529083528185209589168552928252808420928452919052902081548154608091821b821c6001600160801b0319918216178084558454600160801b90819004841b841c026001600160801b03919091161783556001808501549084015560028085015490840155600380850154908401805491841b90931c911617905560048083018054613e4c92840191906152c8565b5050506001600160a01b038085166000908152607060209081526040808320938916835292905290812081815560018101829055600281018290556003810180546001600160801b031916905590613ea760048301826152aa565b505060019050610e67565b6068805460ff191660011790556040517f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75290600090a1565b303b1590565b3390565b60006123f483600160ff1b84185b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415613f785780617fff1415613f6e576001600160801b03198581169085161415613f5b5784925050506116e4565b50600160ef1b61ffff0291506116e49050565b84925050506116e4565b80617fff1415613f8c5783925050506116e4565b6001607f1b608086901c6001600160801b0381169190911015906001600160701b031683613fbd5760019350613fc4565b600160701b175b6001607f1b608087901c6001600160801b0381169190911015906001600160701b031684613ff55760019450613ffc565b600160701b175b8261402c576001600160801b03198816600160ff1b1461401c578761401f565b60005b96505050505050506116e4565b8061404c576001600160801b03198916600160ff1b1461401c578861401f565b848603841515831515141561417257607081131561407357899750505050505050506116e4565b6000811315614092578082600082121561408957fe5b901c91506140cc565b606f198112156140ab57889750505050505050506116e4565b60008112156140cc57806000038460008212156140c457fe5b901c93508596505b92810192600160711b84106140e7576001968701969390931c925b86617fff141561411c578461410457600160f01b617fff0261410e565b6001600160f01b03195b9750505050505050506116e4565b600160701b841015614131576000965061413e565b6001600160701b03841693505b83607088901b86614150576000614156565b6001607f1b5b6001600160801b0316171760801b9750505050505050506116e4565b600081131561418d57600184901b93506001870396506141a4565b60008112156141a457600182901b91506001860396505b60708113156141b65760019150614219565b60018113156141de57600181036001830360008212156141d257fe5b901c6001019150614219565b606f198112156141f15760019350614219565b600019811215614219576001816000030360018503600082121561421157fe5b901c60010193505b81841061422a578184039350614233565b83820393508294505b836142495750600096506116e495505050505050565b600061425485612124565b9050806071141561427a57600185901c6001600160701b031694506001880197506142c9565b60708110156142bc576070819003808911156142a9578086901b6001600160701b0316955080890398506142b6565b600098600019019590951b945b506142c9565b6001600160701b03851694505b87617fff14156142ff57856142e657600160f01b617fff026142f0565b6001600160f01b03195b985050505050505050506116e4565b84607089901b87614311576000614317565b6001607f1b5b6001600160801b0316171760801b985050505050505050506116e4565b6001600160a01b03811661435d57604051600160e51b62461bcd02815260040161171190615cfb565b6035546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3603580546001600160a01b0319166001600160a01b0392909216919091179055565b60006001600160801b031986166143cf57600080fd5b604051600160e01b63a1c348810281526001600160a01b0384169063a1c34881906144009089908990600401615b91565b602060405180830381600087803b15801561441a57600080fd5b505af115801561442e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144529190810190615501565b61445e57506000611516565b606d54841461481757606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e647906144bc908a908790600590600401615c4c565b60006040518083038186803b1580156144d457600080fd5b505af41580156144e8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526145109190810190615651565b606d546040516020016145249291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b825261454f913090600401615ccb565b602060405180830381600087803b15801561456957600080fd5b505af115801561457d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145a1919081019061555f565b606a54604051600160e01b63f921e6470281529192506000916001600160a01b039091169063274200639073__stringutils___________________________9063f921e647906145fb908b908790600590600401615c4c565b60006040518083038186803b15801561461357600080fd5b505af4158015614627573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261464f9190810190615651565b606d546040516020016146639291906159f0565b60408051601f198184030181529082905263ffffffff831660e01b825261468e913090600401615cac565b602060405180830381600087803b1580156146a857600080fd5b505af11580156146bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506146e0919081019061555f565b606a54604051600160e21b6313f493a70281529192506001600160a01b031690634fd24e9c906147169085908590600401615c31565b600060405180830381600087803b15801561473057600080fd5b505af1158015614744573d6000803e3d6000fd5b5050506000828152607260205260408120600160c01b6770757263686173650281556004810180546001600160a01b03808a166001600160a01b031992831617909255600583018054928d169290911691909117905560028101805460808d901c6001600160801b03199091161790556001810189905591506147c6906106e5565b6003820180546001600160801b03191660809290921c9190911790556147ed6127106106e5565b8160030160106101000a8154816001600160801b03021916908360801c0217905550505050614a1b565b606a54604051600160e01b63f921e6470281526000916001600160a01b03169063274200639073__stringutils___________________________9063f921e6479061486c908a908790600590600401615c4c565b60006040518083038186803b15801561488457600080fd5b505af4158015614898573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526148c09190810190615651565b6040516020016148d091906159e4565b60408051601f198184030181529082905263ffffffff831660e01b82526148fb913090600401615cac565b602060405180830381600087803b15801561491557600080fd5b505af1158015614929573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061494d919081019061555f565b6000818152607260205260409020600160c01b6770757263686173650281556004810180546001600160a01b038088166001600160a01b031992831617909255600583018054928b169290911691909117905560028101805460808b901c6001600160801b03199091161790556001808201889055919250906149cf906106e5565b6003820180546001600160801b03191660809290921c9190911790556149f66127106106e5565b8160030160106101000a8154816001600160801b03021916908360801c021790555050505b50600195945050505050565b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415614adf5780617fff1415614aaa576001600160801b03198581169085161415614a8757505050600160ff1b811682186116e4565b600160ff1b6001600160801b0319868618161415613f5b575050508181176116e4565b600160801b600160ff1b038416614ace5750600160ef1b61ffff0291506116e49050565b505050600160ff1b811682186116e4565b80617fff1415614b1e57600160801b600160ff1b038516614b0d5750600160ef1b61ffff0291506116e49050565b505050600160ff1b821681186116e4565b6001600160701b03608086901c1682614b3a5760019250614b41565b600160701b175b6001600160701b03608086901c1682614b5d5760019250614b64565b600160701b175b9081029081614b9157600160ff1b87871816614b815760006124f8565b600160ff1b9450505050506116e4565b928201926000600160e11b831015614bc557600160e01b831015614bbd57614bb883612124565b614bc0565b60e05b614bc8565b60e15b90506140708186011015614be3576000945060009250614c80565b6140e08186011015614c2657614070851015614c0857846140700383901c9250614c1d565b614070851115614c1d57614070850383901b92505b60009450614c80565b61c0dd8186011115614c4057617fff945060009250614c80565b6070811115614c57576070810383901c9250614c6a565b6070811015614c6a578060700383901b92505b6001600160701b03831692506140df8186010394505b82607086901b888a186001607f1b60801b1660801c6001600160801b0316171760801b955050505050506116e4565b6001600160a01b039586166000908152606f6020908152604080832093909816825291909152949094208054608093841c600160801b029490931c6001600160801b0319909316929092176001600160801b0316929092178155600181019190915560020155565b6000614d46614d25836106e5565b6001600160a01b03861660009081526001602052604090205460801b6123fb565b60000b6000191480614d645750614d5f614d25836106e5565b60000b155b15614e10576001600160a01b038416600090815260016020526040902054614d929060801b611deb846106e5565b6001600160a01b0385811660009081526001602052604080822080546001600160801b031916608095861c17905591861681522054614dd5911b611e31846106e5565b6001600160a01b038416600090815260016020819052604090912080546001600160801b03191660809390931c9290921790915590506123f4565b5060009392505050565b604051600160e51b623f7fb90281526001600160a01b038416906307eff72090614e4a9085908590600401615b91565b602060405180830381600087803b158015614e6457600080fd5b505af1158015614e78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614e9c919081019061551f565b50505050565b6001600160a01b039687166000908152607060209081526040808320938a168352928152918120600481018054600180820183559184529390922090920180546001600160a01b03191697909816969096179096556003860180546001600160801b031916608095861c17905585546001600160801b0316600160801b9390941c9290920292909217845591830155600290910155565b818101828110156116e457600080fd5b6000617fff6001600160801b03608085811c8216607090811c8416939186901c90921690911c811690821415614f965780617fff1415614ace5750600160ef1b61ffff0291506116e49050565b80617fff1415614fd657600160801b600160f01b03841615614fc55750600160ef1b61ffff0291506116e49050565b505050808218600160ff1b166116e4565b600160801b600160ff1b03841661502657600160801b600160ff1b03851661500b5750600160ef1b61ffff0291506116e49050565b505050808218600160ff1b16600160f01b617fff02176116e4565b6001600160701b03608085901c16816150425760019150615049565b600160701b175b6001600160701b03608087901c168361508857801561508357600061506d82612124565b6001955060e20393840160711901939190911b90505b615092565b600160701b1760721b5b81818161509b57fe5b049050806150b757600160ff1b87871816614b815760006124f8565b6001606c1b8110156150c557fe5b6000600160731b82101561510557600160721b8210156150fa57600160711b8210156150f25760706150f5565b60715b6150fd565b60725b60ff1661510e565b61510e82612124565b90508361407101818601111561512c57617fff9450600091506151bf565b83818601613ffc0110156151475760009450600091506151bf565b83818601613f8c011015615194578385613ffc011115615172578385613ffc010382901b915061518b565b8385613ffc01101561518b57613ffc8585030382901c91505b600094506151bf565b60708111156151a7576070810382901c91505b6001600160701b038216915083818601613f8d010394505b81607086901b888a186001607f1b60801b1660801c6001600160801b0316171760801b955050505050506116e4565b816001600160a01b03166108fc61520483612362565b6040518115909202916000818181858888f19350505050158015611418573d6000803e3d6000fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061526d57805160ff191683800117855561529a565b8280016001018555821561529a579182015b8281111561529a57825182559160200191906001019061527f565b506152a6929150615314565b5090565b5080546000825590600052602060002090810190611fa79190615314565b8280548282559060005260206000209081019282156153085760005260206000209182015b828111156153085782548255916001019190600101906152ed565b506152a692915061532e565b610f1091905b808211156152a6576000815560010161531a565b610f1091905b808211156152a65780546001600160a01b0319168155600101615334565b60006123f48235615e22565b60006123f48251615e22565b60006123f48251615e2d565b60006123f48235615e32565b60006123f48251615e32565b60006123f48235610f10565b60006123f48251610f10565b600082601f8301126153b757600080fd5b81516153ca6153c582615de7565b615dc0565b915080825260208301602083018583830111156153e657600080fd5b6153f1838284615e72565b50505092915050565b60006020828403121561540c57600080fd5b6000610e678484615352565b60006020828403121561542a57600080fd5b6000610e67848461535e565b6000806040838503121561544957600080fd5b60006154558585615352565b925050602061546685828601615352565b9150509250929050565b6000806000806080858703121561548657600080fd5b60006154928787615352565b94505060206154a387828801615352565b93505060406154b48782880161538e565b92505060606154c587828801615352565b91505092959194509250565b600080604083850312156154e457600080fd5b60006154f08585615352565b92505060206154668582860161538e565b60006020828403121561551357600080fd5b6000610e67848461536a565b60006020828403121561553157600080fd5b6000610e678484615382565b6000806000806080858703121561555357600080fd5b60006154928787615376565b60006020828403121561557157600080fd5b6000610e67848461539a565b60008060006060848603121561559257600080fd5b600061559e868661538e565b93505060206155af86828701615376565b92505060406155c08682870161538e565b9150509250925092565b60008060008060008060c087890312156155e357600080fd5b60006155ef898961538e565b965050602061560089828a0161538e565b955050604061561189828a01615352565b945050606061562289828a01615352565b935050608061563389828a01615352565b92505060a061564489828a01615352565b9150509295509295509295565b60006020828403121561566357600080fd5b815167ffffffffffffffff81111561567a57600080fd5b610e67848285016153a6565b60006020828403121561569857600080fd5b6000610e67848461538e565b60006156b083836156c7565b505060200190565b6156c181615e51565b82525050565b6156c181615e22565b6156c16156dc82615e22565b615e9e565b60006156ec82615e15565b6156f68185615e19565b935061570183615e0f565b60005b8281101561572c576157178683516156a4565b955061572282615e0f565b9150600101615704565b5093949350505050565b6156c181615e2d565b6156c181615e32565b6156c181610f10565b6156c161575d82610f10565b610f10565b600061576d82615e15565b6157778185615e19565b9350615787818560208601615e72565b61579081615eaf565b9093019392505050565b6156c181615e5c565b60006157ae82615e15565b6157b881856106e0565b93506157c8818560208601615e72565b9290920192915050565b600160e21b63109bdb99029052565b60006157ee602683615e19565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20618152600160d01b6564647265737302602082015260400192915050565b600160e91b623b32b9029052565b600160cb1b660acd2c286c2e6d029052565b600160ca1b66115d1a109bdb99029052565b600061586b600383615e19565b600160eb1b620cae8d02815260200192915050565b600160d21b65195d1a1d5cd9029052565b600061589e6009836106e0565b600160b81b6856585553445f746f5f02815260090192915050565b600160f11b6134b9029052565b600160f11b6132b9029052565b60006158e0602083615e19565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572815260200192915050565b6000615919602e83615e19565b7f436f6e747261637420696e7374616e63652068617320616c726561647920626581527f656e20696e697469616c697a6564000000000000000000000000000000000000602082015260400192915050565b60006159786004836106e0565b600160e01b635f746f5f02815260040192915050565b600160c81b6669737375696e67029052565b6156c181615e4b565b60006159b582856156d0565b6014820191506159c58284615751565b5060200192915050565b60006159db8284615751565b50602001919050565b60006123f482846157a3565b60006159fc82856157a3565b9150615a078261596b565b91506159c58284615751565b6000615a1e82615891565b91506159db8284615751565b602081016116e482846156c7565b602081016116e482846156b8565b60808101615a5482876156c7565b615a6160208301866156c7565b615a6e6040830185615748565b6115166060830184615748565b60608101615a8982866156c7565b615a9660208301856156c7565b610e676040830184615748565b60408101615ab182856156c7565b6123f4602083018461573f565b60c08101615acc82896156c7565b615ad96020830188615748565b615ae66040830187615748565b615af36060830186615748565b615b006080830185615748565b615b0d60a0830184615748565b979650505050505050565b60a08101615b2682886156c7565b615b336020830187615748565b615b406040830186615748565b615b4d6060830185615748565b615b5a6080830184615748565b9695505050505050565b602080825281016123f481846156e1565b602081016116e48284615736565b602081016116e4828461573f565b60408101615b9f828561573f565b6123f460208301846156c7565b60a08101615bba828861573f565b615bc7602083018761573f565b615bd46040830186615748565b615be16060830185615748565b615b5a608083018461573f565b602081016116e48284615748565b60a08101615c0a8288615748565b615c17602083018761573f565b615c246040830186615748565b615be1606083018561573f565b60408101615c3f8285615748565b6123f46020830184615748565b60608101615c5a8286615748565b615c67602083018561579a565b610e67604083018461579a565b60808082528101615c858185615762565b9050615c936020830161582c565b615c9f604083016157d2565b6123f460608301846156c7565b60808082528101615cbd8185615762565b9050615c93602083016158b9565b60808082528101615cdc8185615762565b9050615c93602083016158c6565b602080825281016123f48184615762565b602080825281016116e4816157e1565b60408101615d188261583a565b6116e46020830184615748565b60808082528101615d358161585e565b9050615d4360208301615880565b615d4f6040830161584c565b6116e460608301846156c7565b602080825281016116e4816158d3565b602080825281016116e48161590c565b602081016106e08261598e565b60808101615d978287615748565b615a616020830186615748565b60a08101615b268288615748565b602081016116e482846159a0565b60405181810167ffffffffffffffff81118282101715615ddf57600080fd5b604052919050565b600067ffffffffffffffff821115615dfe57600080fd5b506020601f91909101601f19160190565b60200190565b5190565b90815260200190565b60006116e482615e3f565b151590565b6001600160801b03191690565b6001600160a01b031690565b60ff1690565b60006116e482615e67565b60006116e482610f10565b60006116e482615e22565b60005b83811015615e8d578181015183820152602001615e75565b83811115614e9c5750506000910152565b60006116e48260006116e482615eb9565b601f01601f191690565b60601b9056fea265627a7a72305820edaf9b35cf53a7a452290fe6bd171c624fdb9cde09ff7a8131b26354047bacbd6c6578706572696d656e74616cf50037",
|
|
793
793
|
"sourceMap": "792:33634:13:-;;;3075:2;3063:14;;792:33634;;;;;;",
|
|
794
794
|
"deployedSourceMap": "792:33634:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3716:9;3708:22;;;;;;3781:8;:18;3773:27;;;;;;3859:6;;;;:15;3851:24;;;;;;3922:20;3931:10;3922:8;:20::i;:::-;:26;;3944:4;3922:26;3914:35;;;;;;3990:75;3996:32;4018:9;3996:21;:32::i;:::-;4030:10;-1:-1:-1;;;;;4059:4:13;3990:5;:75::i;:::-;;792:33634;1165:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1165:18:13;;;:::i;:::-;;;;;;;;;;;;;;;;640:110:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;640:110:20;;;:::i;:::-;;;;;;;;25131:2425:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;25131:2425:13;;;;;;;;:::i;:::-;;363:43:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;363:43:20;;;;;;;;:::i;:::-;;;;;;;;6690:523:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;6690:523:13;;;;;;;;:::i;:::-;;;;;;;;560:74:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;560:74:20;;;:::i;:::-;;;;;;;;1415:67:13;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1415:67:13;;;;;;;;:::i;:::-;;;;;;;;;;;;34165:102;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34165:102:13;;;:::i;32347:432::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;32347:432:13;;;;;;;;:::i;:::-;;;;;;;;;;;1607:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1607:70:13;;;;;;;;:::i;758:134:20:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;758:134:20;;;;;;;;:::i;1746:137:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1746:137:1;;;:::i;14203:684:13:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14203:684:13;;;;;;;;:::i;4081:1309::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;4081:1309:13;;;;;;;;:::i;34061:98::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;34061:98:13;;;:::i;1217:23::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1217:23:13;;;:::i;3112:468::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;3112:468:13;;;;;;;;:::i;31738:96::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;31738:96:13;;;:::i;:::-;;;;;;;;959:77:1;;8:9:-1;5:2;;;30:1;27;20:12;5:2;959:77:1;;;:::i;:::-;;;;;;;;1310:92;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1310:92:1;;;:::i;31842:497:13:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;31842:497:13;;;;;;;;:::i;:::-;;;;;;;;;;;;1190:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1190:20:13;;;:::i;900:558:20:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;900:558:20;;;;;;;;:::i;762:79:29:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;762:79:29;;;:::i;741:142:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;741:142:1;;;;;;;;:::i;1780:28:13:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1780:28:13;;;;;;;;:::i;2032:107:1:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;2032:107:1;;;;;;;;:::i;10986:473:13:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10986:473:13;;;;;;;;:::i;33748:301::-;33804:4;33820:14;33837:7;;;;;;;;;-1:-1:-1;;;;;33837:7:13;-1:-1:-1;;;;;33837:17:13;;:19;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33837:19:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33837:19:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;33837:19:13;;;;;;;;;33820:36;-1:-1:-1;;;;;;33870:20:13;;33867:49;;33912:4;33905:11;;;;;33867:49;33930:44;;-1:-1:-1;;;;;33930:44:13;;-1:-1:-1;;;;;33930:35:13;;;;;:44;;33966:7;;33930:44;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33930:44:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33930:44:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;33930:44:13;;;;;;;;;33927:114;;;33996:4;33989:11;;;;;33927:114;34036:5;34029:12;;;33748:301;;;;:::o;3041:405:12:-;3094:7;3114:6;3110:331;;-1:-1:-1;3138:1:12;3122:18;;3110:331;3178:1;3161:14;3204:12;3178:1;3204:3;:12::i;:::-;3190:26;;3235:3;3229;:9;3225:84;;;3257:3;3251;:9;3240:20;;;;;3225:84;;;3284:3;3278;:9;3274:35;;;3306:3;3300;:9;3289:20;;;;;3274:35;3371:5;:11;3386:3;3371:18;-1:-1:-1;;;;;3329:39:12;;;;:60;3407:26;;;-1:-1:-1;3400:33:12;;7319:3659:13;7421:4;-1:-1:-1;;;;;;7495:11:13;;7487:20;;;;;;7554:21;7568:6;7554:13;:21::i;:::-;7545:30;;7659:8;-1:-1:-1;;;;;7659:17:13;7656:387;;7776:7;;:29;;-1:-1:-1;;;;;7776:29:13;;:7;;;;-1:-1:-1;;;;;7776:7:13;;:15;;:29;;7792:12;;7776:29;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7776:29:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7776:29:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7776:29:13;;;;;;;;;-1:-1:-1;;;;;7776:40:13;7773:259;;;7840:56;;-1:-1:-1;;;;;7840:56:13;;-1:-1:-1;;;;;7840:41:13;;;;;:56;;7882:6;;7890:5;;7840:56;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7840:56:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7840:56:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7840:56:13;;;;;;;;;7836:116;;-1:-1:-1;7927:5:13;7920:12;;7836:116;7773:259;;;-1:-1:-1;8011:5:13;8004:12;;7773:259;8110:8;-1:-1:-1;;;;;8110:17:13;8107:2842;;;8413:8;;-1:-1:-1;;;;;8413:17:13;8410:1646;;8467:6;;:55;;-1:-1:-1;;;;;8467:55:13;;8450:14;;-1:-1:-1;;;;;8467:6:13;;:14;;:55;;8516:4;;8467:55;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8467:55:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8467:55:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8467:55:13;;;;;;;;;8558:6;;8603:8;;8573:39;;8450:72;;-1:-1:-1;8541:14:13;;-1:-1:-1;;;;;8558:6:13;;;;:14;;8573:39;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;8573:39:13;;;;8558:83;;;;;;;;;8635:4;;8558:83;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8558:83:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;8558:83:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;8558:83:13;;;;;;;;;8660:6;;:35;;-1:-1:-1;;;;;8660:35:13;;8541:100;;-1:-1:-1;;;;;;8660:6:13;;:20;;:35;;8681:6;;8541:100;;8660:35;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8660:35:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;8798:20:13;8821:19;;;:11;:19;;;;;-1:-1:-1;;;;;8859:21:13;;8899:7;;;:15;;-1:-1:-1;;;;;;8899:15:13;-1:-1:-1;;;;;8899:15:13;;;;;8933:8;;;:17;;-1:-1:-1;;;;;;8933:17:13;;;;;;;;-1:-1:-1;8969:18:13;;:29;;;8821:19;-1:-1:-1;9031:24:13;;:21;:24::i;:::-;9017:1;:11;;;:38;;;;;-1:-1:-1;;;;;9017:38:13;;;;;;;;;;;;9087:24;9109:1;9087:21;:24::i;:::-;9074:11;;;;;:37;;-1:-1:-1;;;;;;9074:37:13;;;;;;;;;;;;-1:-1:-1;8410:1646:13;;-1:-1:-1;8410:1646:13;;9467:8;;-1:-1:-1;;;;;9467:17:13;9464:592;;;9521:6;;:55;;-1:-1:-1;;;;;9521:55:13;;9504:14;;-1:-1:-1;;;;;9521:6:13;;:14;;:55;;9570:4;;9521:55;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9521:55:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;9521:55:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;9521:55:13;;;;;;;;;9637:20;9660:19;;;:11;:19;;;;;-1:-1:-1;;;;;9698:21:13;;9738:7;;;:15;;-1:-1:-1;;;;;;9738:15:13;-1:-1:-1;;;;;9738:15:13;;;;;9772:8;;;:17;;-1:-1:-1;;;;;;9772:17:13;;;;;;;;-1:-1:-1;9808:18:13;;:29;;;9660:19;;-1:-1:-1;9870:24:13;;:21;:24::i;:::-;9856:1;:11;;;:38;;;;;-1:-1:-1;;;;;9856:38:13;;;;;;;;;;;;9926:24;9948:1;9926:21;:24::i;:::-;9913:11;;;;;:37;;-1:-1:-1;;;;;;9913:37:13;;;;;;;;;;;;-1:-1:-1;9464:592:13;8107:2842;;;10410:6;;10442:23;;-1:-1:-1;;;;;10442:23:13;;10393:14;;-1:-1:-1;;;;;10410:6:13;;:14;;10442:18;;;;:23;;:8;;10393:14;;10463:1;;10442:23;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10442:23:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10442:23:13;;;;;;39:16:-1;36:1;17:17;2:54;101:4;10442:23:13;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;10442:23:13;;;;;;;;;10473:8;;10425:57;;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;10425:57:13;;;;10410:101;;;;;;;;;10505:4;;10410:101;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10410:101:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10410:101:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;10410:101:13;;;;;;;;;10564:20;10587:19;;;:11;:19;;;;;-1:-1:-1;;;;;10621:21:13;;10657:7;;;:15;;-1:-1:-1;;;;;;10657:15:13;-1:-1:-1;;;;;10657:15:13;;;;;10687:8;;;:17;;-1:-1:-1;;;;;;10687:17:13;;;;;;;;-1:-1:-1;10719:18:13;;;:29;;;10587:19;;-1:-1:-1;10587:19:13;10777:24;;:21;:24::i;:::-;10763:1;:11;;;:38;;;;;-1:-1:-1;;;;;10763:38:13;;;;;;;;;;;;10829:24;10851:1;10829:21;:24::i;:::-;10816:11;;;;;:37;;-1:-1:-1;;;;;;10816:37:13;;;;;;;;;;;;-1:-1:-1;8107:2842:13;-1:-1:-1;10966:4:13;7319:3659;;;;;;;:::o;1165:18::-;;;;;;;;;;;;;;;-1:-1:-1;;1165:18:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;640:110:20:-;686:4;729:12;;709:33;;729:12;;709:19;:33::i;:::-;702:40;;640:110;;:::o;25131:2425:13:-;25221:6;;-1:-1:-1;;;;;25221:6:13;25241:10;25221:31;25213:40;;;;;;25308:5;-1:-1:-1;;;;;25308:16:13;25305:83;;;25340:17;;;;:11;:17;;;;;:27;;:36;;-1:-1:-1;;;;;25340:36:13;-1:-1:-1;;;25340:36:13;;;;;;;;25305:83;25401:5;-1:-1:-1;;;;;25401:13:13;25398:83;;;25430:17;;;;:11;:17;;;;;:30;;:39;;-1:-1:-1;;;;;25430:39:13;-1:-1:-1;;;25430:39:13;;;;;;;;25398:83;25494:5;-1:-1:-1;;;;;25494:13:13;25491:80;;;25523:17;;;;:11;:17;;;;;:27;;:36;;-1:-1:-1;;;;;;25523:36:13;;;;;;;;25491:80;25584:5;-1:-1:-1;;;;;25584:14:13;25581:81;;;25614:17;;;;:11;:17;;;;;:27;;:36;;-1:-1:-1;;;;;;25614:36:13;;;;;;;;25581:81;25719:17;;;;:11;:17;;;;;:27;-1:-1:-1;;;;;25719:36:13;25716:1833;;;25774:5;-1:-1:-1;;;;;25774:17:13;:35;;;;25795:5;-1:-1:-1;;;;;25795:14:13;25774:35;25771:782;;;25849:17;;;;:11;:17;;;;;:27;;;25832:71;;-1:-1:-1;;;25849:27:13;;;;;;25878:24;;:21;:24::i;:::-;25832:16;:71::i;:::-;:74;;;;;;:173;;-1:-1:-1;25948:17:13;;;;:11;:17;;;;;:27;;;25931:71;;25948:27;;;;;;25977:24;;:21;:24::i;25931:71::-;:74;;;;25832:173;25829:709;;;26168:8;;26123:16;26178:17;;;:11;:17;;;;;;:24;;;;;26204:34;;;26267:27;;;;;26142:153;;-1:-1:-1;;;;;26142:153:13;;26123:16;;26142:12;;:25;;:153;;26168:8;;26178:24;;;;;26204:34;-1:-1:-1;;;26239:27:13;;;;;;26267;;;26142:153;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;26142:153:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;26142:153:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;26142:153:13;;;;;;;;;26375:17;;;;:11;:17;;;;;:23;;;;26410:24;;;;26375:23;26436:34;;;;26123:172;;-1:-1:-1;26362:109:13;;-1:-1:-1;;;;;26375:23:13;;;;26123:172;;26410:24;;;;;;26362:12;:109::i;:::-;-1:-1:-1;26501:17:13;;;;:11;:17;;;;;26494:24;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;26494:24:13;;;;;;;;;;;;;;;;;25829:709;25716:1833;;;26582:17;;;;:11;:17;;;;;:27;-1:-1:-1;;;;;26582:39:13;26579:970;;;26652:5;-1:-1:-1;;;;;26652:13:13;:29;;;;26669:5;-1:-1:-1;;;;;26669:12:13;26652:29;26649:889;;;26721:17;;;;:11;:17;;;;;:27;;;26704:71;;26721:27;;;;;;26750:24;;:21;:24::i;26704:71::-;:74;;;;;;:177;;-1:-1:-1;26821:17:13;;;;:11;:17;;;;;:30;;;26804:74;;-1:-1:-1;;;26821:30:13;;;;;;26853:24;;:21;:24::i;26804:74::-;:77;;;;26704:177;26701:822;;;27041:8;;26991:20;27051:17;;;:11;:17;;;;;;:24;;;;;27077:34;;;27112:27;;;;;27014:157;;-1:-1:-1;;;;;27014:157:13;;26991:20;;27014:12;;:26;;:157;;27041:8;;27051:24;;;;;27077:34;27112:27;;;;-1:-1:-1;;;27140:30:13;;;;;;27014:157;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27014:157:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27014:157:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;27014:157:13;;;;;;;;;27330:17;;;;:11;:17;;;;;:23;;;;27369:24;;;;27330:23;27395:34;;;27431:24;;;;;26991:180;;-1:-1:-1;27314:142:13;;-1:-1:-1;;;;;27330:23:13;;;;26991:180;;27369:24;;;;;;27395:34;;27431:24;27314:15;:142::i;:::-;-1:-1:-1;27486:17:13;;;;:11;:17;;;;;27479:24;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;27479:24:13;;;;;;;;;;;;;;;;;26701:822;25131:2425;;;:::o;363:43:20:-;;;;;;;;;;;;;;;:::o;6690:523:13:-;6864:6;;6800:4;;6864:6;;:15;6856:24;;;;;;7004:8;6994;;:18;;6986:27;;;;;;7060:15;7069:5;7060:8;:15::i;:::-;:21;;7077:4;7060:21;7052:30;;;;;;7101:7;;:27;;-1:-1:-1;;;;;7101:27:13;;:7;;;;-1:-1:-1;;;;;7101:7:13;;:15;;:27;;7117:10;;7101:27;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;7101:27:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;7101:27:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;7101:27:13;;;;;;;;;-1:-1:-1;;;;;7101:40:13;7093:49;;;;;;7160:44;7166:6;7174:5;7181:8;7191:12;7160:5;:44::i;:::-;7153:52;6690:523;-1:-1:-1;;;;;6690:523:13:o;560:74:20:-;625:1;560:74;:::o;1415:67:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1415:67:13;;;;;;;;;;:::o;34165:102::-;34221:7;;34201:10;;34221:7;;;-1:-1:-1;;;;;34221:7:13;34366;:5;:7::i;:::-;-1:-1:-1;;;;;34355:18:13;:7;-1:-1:-1;;;;;34355:18:13;;:41;;;;34388:8;-1:-1:-1;;;;;34377:19:13;:7;-1:-1:-1;;;;;34377:19:13;;34355:41;34347:50;;;;;;34249:10;:8;:10::i;:::-;34165:102;;:::o;32347:432::-;-1:-1:-1;;;;;32507:17:13;;;32433:7;32507:17;;;:6;:17;;;;;;;;:28;;;;;;;;;;;:49;;;32433:7;;;;;;32487:70;;32507:49;;32487:19;:70::i;:::-;-1:-1:-1;;;;;32596:17:13;;;;;;;:6;:17;;;;;;;;:28;;;;;;;;;:41;32576:62;;-1:-1:-1;;;32596:41:13;;;;32576:19;:62::i;:::-;-1:-1:-1;;;;;32657:17:13;;;;;;;:6;:17;;;;;;;;:28;;;;;;;;;;;;;;:43;;;;32719:51;;;;;32479:292;;32657:43;;32719:51;-1:-1:-1;32347:432:13;-1:-1:-1;;;32347:432:13:o;1607:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1607:70:13;;;;;;;;;;:::o;758:134:20:-;-1:-1:-1;;;;;863:20:20;;820:4;863:20;;;:8;:20;;;;;;843:41;;863:20;;843:19;:41::i;:::-;836:48;758:134;-1:-1:-1;;758:134:20:o;1746:137:1:-;1163:9;:7;:9::i;:::-;1155:54;;;;-1:-1:-1;;;;;1155:54:1;;;;;;;;;;;;;;;;;1828:6;;1807:40;;1844:1;;-1:-1:-1;;;;;1828:6:1;;1807:40;;1844:1;;1807:40;1857:6;:19;;-1:-1:-1;;;;;;1857:19:1;;;1746:137::o;14203:684:13:-;14383:6;;14319:4;;14383:6;;:15;14375:24;;;;;;14446:15;14455:5;14446:8;:15::i;:::-;:21;;14463:4;14446:21;14438:30;;;;;;14487:7;;:27;;-1:-1:-1;;;;;14487:27:13;;:7;;;;-1:-1:-1;;;;;14487:7:13;;:15;;:27;;14503:10;;14487:27;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;14487:27:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14487:27:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;14487:27:13;;;;;;;;;-1:-1:-1;;;;;14487:45:13;14479:54;;;;;;14750:62;14757:6;14765:5;14772:8;-1:-1:-1;;;;;14798:13:13;14750:6;:62::i;:::-;14746:133;;-1:-1:-1;14834:5:13;14827:12;;14746:133;-1:-1:-1;14875:4:13;14868:11;;4081:1309;4257:6;;4193:4;;4257:6;;:15;4249:24;;;;;;4320:16;4329:6;4320:8;:16::i;:::-;:22;;4338:4;4320:22;4312:31;;;;;;4362:18;4371:8;4362;:18::i;:::-;:24;;4382:4;4362:24;4354:33;;;;;;-1:-1:-1;;;;;4472:25:13;;4492:4;4472:25;;;;:50;;;4513:9;-1:-1:-1;;;;;4501:21:13;:8;-1:-1:-1;;;;;4501:21:13;;4472:50;4469:914;;;4616:83;4623:29;4645:6;4623:21;:29::i;:::-;4654:6;4662:8;;-1:-1:-1;;;;;4689:9:13;4616:6;:83::i;:::-;4613:165;;;-1:-1:-1;4725:4:13;4718:11;;4469:914;-1:-1:-1;;;;;5087:17:13;;;;;;;:9;:17;;;;;;;;:28;;;;;;;;;:49;;;5139:6;;5067:70;;5087:49;;5067:19;:70::i;:::-;:78;5064:281;;;5168:54;5186:9;5197:6;5205:8;5215:6;5168:17;:54::i;34061:98::-;34115:7;;34095:10;;34115:7;;;-1:-1:-1;;;;;34115:7:13;34366;:5;:7::i;:::-;-1:-1:-1;;;;;34355:18:13;:7;-1:-1:-1;;;;;34355:18:13;;:41;;;;34388:8;-1:-1:-1;;;;;34377:19:13;:7;-1:-1:-1;;;;;34377:19:13;;34355:41;34347:50;;;;;;34143:8;:6;:8::i;1217:23::-;;;;:::o;3112:468::-;1024:12:2;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:2;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:2;;;;;;;;;1152:12;;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:2;;;;;1225:18;1213:4;1225:18;;;1170:80;3259:26:13;3278:6;3259:18;:26::i;:::-;3296:7;:32;;-1:-1:-1;;;;;;3296:32:13;3317:10;3296:32;;;;;3339:6;:27;;-1:-1:-1;;;;;;3339:27:13;-1:-1:-1;;;;;3339:27:13;;;;;3391:23;;;;3408:5;;3391:23;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;3391:23:13;;;3377:4;:38;;;;;;;;;;;;:::i;:::-;-1:-1:-1;3435:20:13;;-1:-1:-1;;;;;3435:20:13;;:15;;;;:20;;:5;;3451:1;;3453;;3435:20;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3435:20:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;3435:20:13;;;;;;39:16:-1;36:1;17:17;2:54;101:4;3435:20:13;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;3435::13;;;;;;;;;3426:29;;;;:6;;:29;;;;;;:::i;:::-;-1:-1:-1;3466:8:13;:20;;;3497:5;:14;;-1:-1:-1;;;;;3497:14:13;;;-1:-1:-1;;;;;;3497:14:13;;;;;;;3522:5;:27;;;;;;;;;;;;;;;3560:4;:12;;-1:-1:-1;;3560:12:13;;;1264:55:2;;;;1292:12;:20;;-1:-1:-1;;1292:20:2;;;1264:55;3112:468:13;;;;;;;:::o;31738:96::-;31780:16;31815:11;31808:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;31808:18:13;;;;;;;;;;;;;;;;;;;;;;;31738:96;:::o;959:77:1:-;1023:6;;-1:-1:-1;;;;;1023:6:1;959:77;:::o;1310:92::-;1389:6;;1350:4;;-1:-1:-1;;;;;1389:6:1;1373:12;:10;:12::i;:::-;-1:-1:-1;;;;;1373:22:1;;1366:29;;1310:92;:::o;31842:497:13:-;-1:-1:-1;;;;;32005:14:13;;;31922:7;32005:14;;;:6;:14;;;;;;;;:25;;;;;;;;;;;:34;31922:7;;;;;;;;31985:55;;32005:34;;31985:19;:55::i;:::-;-1:-1:-1;;;;;32079:14:13;;;;;;;:6;:14;;;;;;;;:25;;;;;;;;;:46;;;32059:67;;32079:46;;32059:19;:67::i;:::-;-1:-1:-1;;;;;32165:14:13;;;;;;;:6;:14;;;;;;;;:25;;;;;;;;;:38;32145:59;;-1:-1:-1;;;32165:38:13;;;;32145:19;:59::i;:::-;-1:-1:-1;;;;;32223:14:13;;;;;;;:6;:14;;;;;;;;:25;;;;;;;;;;;;;;:40;;;;32282:48;;;;;31977:354;;;;;32223:40;;-1:-1:-1;32282:48:13;;-1:-1:-1;31842:497:13;-1:-1:-1;;;31842:497:13:o;1190:20::-;;;;;;;;;;;;;;;-1:-1:-1;;1190:20:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;900:558:20;965:4;989:71;1006:29;1028:6;1006:21;:29::i;:::-;1053:4;1036:23;;;;:8;:23;;;;;;;;989:16;:71::i;:::-;:75;;-1:-1:-1;;989:75:20;:171;;;;1086:71;1103:29;1125:6;1103:21;:29::i;1086:71::-;:74;;;989:171;981:180;;;;;;1232:4;1215:23;;;;:8;:23;;;;;;1198:72;;1215:23;;1240:29;1262:6;1240:21;:29::i;:::-;1198:16;:72::i;:::-;1189:4;1172:23;;;;:8;:23;;;;;;:98;;-1:-1:-1;;;;;;1172:98:20;;;;;;;;-1:-1:-1;;;;;1319:18:20;;;;;;;1302:67;;1319:18;1339:29;1361:6;1339:21;:29::i;:::-;1302:16;:67::i;:::-;-1:-1:-1;;;;;1281:18:20;;;;;;:8;:18;;;;;;;;:88;;-1:-1:-1;;;;;;1281:88:20;;;;;;;;;;;;;:8;-1:-1:-1;900:558:20;;;;:::o;762:79:29:-;827:6;;;;762:79;:::o;741:142:1:-;1024:12:2;;;;;;;;:31;;;1040:15;:13;:15::i;:::-;1024:47;;;-1:-1:-1;1060:11:2;;;;1059:12;1024:47;1016:106;;;;-1:-1:-1;;;;;1016:106:2;;;;;;;;;1152:12;;;;;;;1151:13;1170:80;;;;1198:12;:19;;-1:-1:-1;;;;1198:19:2;;;;;1225:18;1213:4;1225:18;;;1170:80;806:6:1;:15;;-1:-1:-1;;;;;;806:15:1;-1:-1:-1;;;;;806:15:1;;;;;;;;;;;836:40;;869:6;;;-1:-1:-1;;836:40:1;;-1:-1:-1;;836:40:1;1268:14:2;1264:55;;;1292:12;:20;;-1:-1:-1;;1292:20:2;;;741:142:1;;:::o;1780:28:13:-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1780:28:13;;-1:-1:-1;1780:28:13;:::o;2032:107:1:-;1163:9;:7;:9::i;:::-;1155:54;;;;-1:-1:-1;;;;;1155:54:1;;;;;;;;;2104:28;2123:8;2104:18;:28::i;:::-;2032:107;:::o;10986:473:13:-;11163:6;;11099:4;;11163:6;;:15;11155:24;;;;;;11226:15;11235:5;11226:8;:15::i;:::-;:21;;11243:4;11226:21;11218:30;;;;;;11267:7;;:27;;-1:-1:-1;;;;;11267:27:13;;:7;;;;-1:-1:-1;;;;;11267:7:13;;:15;;:27;;11283:10;;11267:27;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11267:27:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11267:27:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11267:27:13;;;;;;;;;-1:-1:-1;;;;;11267:45:13;11259:54;;;;;;11332:7;;:29;;-1:-1:-1;;;;;11332:29:13;;:7;;;;-1:-1:-1;;;;;11332:7:13;;:15;;:29;;11348:12;;11332:29;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11332:29:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11332:29:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11332:29:13;;;;;;;;;-1:-1:-1;;;;;11332:40:13;11324:49;;;;;;11391:59;11400:6;11408:5;11415:8;11425:12;11439:10;11391:8;:59::i;50879:585:12:-;50926:7;50955:1;50951;:5;50942:15;;;;;;50966:14;-1:-1:-1;;;50997:40:12;;50993:75;;51047:3;51041:9;;;;51052:13;50993:75;51083:19;51078:1;:24;51074:57;;51112:2;51106:8;;;;51116:12;51074:57;51146:11;51141:1;:16;51137:49;;51167:2;51161:8;;;;51171:12;51137:49;51201:7;51196:1;:12;51192:45;;51218:2;51212:8;;;;51222:12;51192:45;51252:5;51247:1;:10;51243:41;;51267:1;51261:7;;;;51270:11;51243:41;51299:4;51294:1;:9;51290:40;;51313:1;51307:7;;;;51316:11;51290:40;51345:3;51340:1;:8;51336:39;;51358:1;51352:7;;;;51361:11;51336:39;51390:3;51385:1;:8;51381:25;;51405:1;51395:11;51452:6;50879:585;-1:-1:-1;;50879:585:12:o;33113:583:13:-;33224:5;;:23;;-1:-1:-1;;;;;33224:23:13;;33168:7;;;;33202:46;;-1:-1:-1;;;;;33224:5:13;;:12;;:23;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;33224:23:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33224:23:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;33224:23:13;;;;;;;;;33202:21;:46::i;:::-;33187:61;;33259:19;33292:25;33312:4;33292:19;:25::i;:::-;:28;33289:377;;33352:5;;:22;;;-1:-1:-1;;;;;33352:22:13;;;;33336:13;;-1:-1:-1;;;;;33352:5:13;;:20;;:22;;;;;;;;;;;;;;:5;:22;;;5:2:-1;;;;30:1;27;20:12;5:2;33352:22:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33352:22:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;33352:22:13;;;;;;;;;33336:38;-1:-1:-1;;;;;;33392:19:13;;;33389:266;;33447:5;-1:-1:-1;;;;;33431:32:13;:84;33464:50;33484:29;33501:4;33507:5;33484:16;:29::i;:::-;33464:19;:50::i;:::-;33431:84;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;33431:84:13;33548:54;33565:5;33572:29;33589:4;33595:5;33572:16;:29::i;33548:54::-;33534:68;-1:-1:-1;33621:18:13;;-1:-1:-1;;;33621:18:13;33389:266;33289:377;;-1:-1:-1;33683:5:13;;33113:583;-1:-1:-1;;33113:583:13:o;3854:558:12:-;3905:7;3961:6;-1:-1:-1;;;;;3940:11:12;;;;:18;3955:3;3940:18;:27;3991:5;3980:16;;3976:30;;;4005:1;3998:8;;;;;3976:30;-1:-1:-1;;;4046:1:12;4037:11;;-1:-1:-1;;;;;4037:48:12;;4028:58;;;;;;4128:5;4116:8;:17;;4107:27;;;;;;-1:-1:-1;;;;;;;;4179:11:12;;;;4170:54;:95;4289:5;4278:16;;4274:110;;;4307:5;:16;;;4296:27;4274:110;;;4350:5;4339:8;:16;4335:49;;;-1:-1:-1;;4368:16:12;;4357:27;4335:49;4400:6;3854:558;-1:-1:-1;;;3854:558:12:o;14021:931::-;14080:4;-1:-1:-1;;;;;14113:11:12;;;;:48;-1:-1:-1;;;;;14179:47:12;;;14170:57;;;;;;-1:-1:-1;;;;;14267:11:12;;;;:48;-1:-1:-1;;;;;14333:47:12;;;14324:57;;;;;;-1:-1:-1;;;;;;14450:6:12;;;;;;;;;:56;;;-1:-1:-1;;;;;14460:9:12;-1:-1:-1;;;;;14460:46:12;;14450:56;14441:66;;;;;;-1:-1:-1;;;;;;14520:6:12;;;;;;;14516:431;;;14535:1;14528:8;;;;;;14516:431;14557:14;-1:-1:-1;;;14583:1:12;14574:11;;-1:-1:-1;;;;;14574:49:12;;;14557:66;;14632:14;-1:-1:-1;;;14658:1:12;14649:11;;-1:-1:-1;;;;;14649:49:12;;;14632:66;;14713:9;14709:231;;;14739:9;14735:84;;;14769:9;-1:-1:-1;;;;;14757:21:12;:9;-1:-1:-1;;;;;14757:21:12;;:37;;14792:1;14757:37;;;-1:-1:-1;;14757:37:12;14750:44;;;;;;;;14709:231;14851:9;14847:83;;;14869:1;14862:8;;;;;;;;14847:83;14905:9;-1:-1:-1;;;;;14893:21:12;:9;-1:-1:-1;;;;;14893:21:12;;:37;;-1:-1:-1;;14893:37:12;;;14923:1;14886:44;;;;;;;;27661:1065:13;27962:7;;27982:5;;27996:8;;28016:33;;27847:3;;27827:17;;-1:-1:-1;;;;;27962:7:13;;;;;;;:19;;27982:5;;;;;27989;;28016:33;;27989:5;;27847:3;;28016:33;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;28016:33:13;;;28006:44;;;;;;27962:89;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;27962:89:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;27962:89:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;27962:89:13;;;;;;;;;28140:30;;-1:-1:-1;;;;;28140:30:13;;27941:110;;-1:-1:-1;27941:110:13;;-1:-1:-1;;;;;28140:13:13;;;;;:30;;28154:5;;28161:8;;28140:30;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28140:30:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;28181:27:13;;-1:-1:-1;;;;;28181:27:13;;-1:-1:-1;;;;;28181:17:13;;;-1:-1:-1;28181:17:13;;-1:-1:-1;28181:27:13;;28199:8;;28181:27;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;28181:27:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;28251:12:13;;28234:40;;-1:-1:-1;28251:12:13;;;-1:-1:-1;28265:8:13;28234:16;:40::i;:::-;28219:12;:55;;-1:-1:-1;;;;;;28219:55:13;;;;;;;;-1:-1:-1;;;;;28355:15:13;;;;-1:-1:-1;28355:15:13;;;;;;28338:43;;28355:15;28372:8;28338:16;:43::i;:::-;-1:-1:-1;;;;;28320:15:13;;;;;;;:8;:15;;;;;;;:61;;-1:-1:-1;;;;;;28320:61:13;;;;;;;;;;;;;28424:11;27:10:-1;;23:18;;;45:23;;28424:28:13;;;;;;;;-1:-1:-1;;;;;;28424:28:13;;;;;;;;;;28463:83;28320:15;28486:8;28496:12;28510;28524:9;28424:28;28463:15;:83::i;:::-;28599:5;-1:-1:-1;;;;;28588:130:13;;28606:10;28618:8;;28628:29;28648:8;28628:19;:29::i;:::-;28659:12;28673:33;28693:12;28673:19;:33::i;:::-;28708:9;28588:130;;;;;;;;;;;;;;;;;;;;27661:1065;;;;;;;:::o;28734:1977::-;28961:11;28984:13;28961:37;;29009:14;29026:2;-1:-1:-1;;;;;29026:12:13;;:14;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29026:14:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29026:14:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;29026:14:13;;;;;;;;;29060:4;;29009:31;;-1:-1:-1;29060:4:13;;29059:5;29051:14;;;;;;29076:4;:11;;-1:-1:-1;;29076:11:13;29083:4;29076:11;;;29218:7;;:45;;-1:-1:-1;;;;;29218:45:13;;29076:4;;-1:-1:-1;;;;;29076:11:13;29218:7;;;;;:17;;:45;;29247:15;;29218:45;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29218:45:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29218:45:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;29218:45:13;;;;;;;;;29197:66;-1:-1:-1;;;;;;29277:24:13;;;29274:1397;;29412:13;-1:-1:-1;;;;;29403:37:13;;29441:6;29449:5;29456:34;29476:13;29456:19;:34::i;:::-;29403:88;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;29403:88:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;29403:88:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;29403:88:13;;;;;;;;;29400:1260;;;29527:63;29540:6;29548:5;29555:34;29575:13;29555:19;:34::i;:::-;29527:12;:63::i;:::-;;29749:42;29758:10;29770:12;29784:6;29749:8;:42::i;:::-;-1:-1:-1;;;;;29896:14:13;;;29879;29896;;;:6;:14;;;;;;;;:29;;;;;;;;;;;;29944:16;;;27:10:-1;;39:1;23:18;;45:23;;29944:28:13;;;;;;;;;;;;-1:-1:-1;;;;;;29944:28:13;;;;;;;;;;30144:29;;;:50;;;;30127:83;;30144:50;;30196:13;30127:16;:83::i;:::-;-1:-1:-1;;;;;30074:14:13;;;;;;;:6;:14;;;;;;;;:29;;;;;;;;;:50;;:136;;-1:-1:-1;;;;;;30074:136:13;;;;;;;;;;;;30303:3;30325:108;30344:5;30074:14;30359:13;30374:12;30388:15;30303:3;30074:29;30325:18;:108::i;:::-;30511:5;-1:-1:-1;;;;;30497:147:13;;30518:13;30533:8;;30543:34;30563:13;30543:19;:34::i;:::-;30579:15;30596:33;30616:12;30596:19;:33::i;:::-;30631:12;30497:147;;;;;;;;;;;;;;;;;;;;29400:1260;;;-1:-1:-1;;30681:4:13;:12;;-1:-1:-1;;30681:12:13;;;-1:-1:-1;;;;;;28734:1977:13:o;491:88:29:-;531:6;:14;;-1:-1:-1;;531:14:29;;;561:10;;;;540:5;;561:10;491:88::o;14993:10088:13:-;15114:4;15242:6;-1:-1:-1;;;;;15242:23:13;15239:9835;;;15281:11;15465:27;15485:6;15465:19;:27::i;:::-;-1:-1:-1;;;;;15410:16:13;;;;;;;:9;:16;;;;;;;;:31;;;;;;;;;:52;;;15390:73;;15410:52;;15390:19;:73::i;:::-;:102;15387:5492;;;-1:-1:-1;;;;;15613:16:13;;;;;;;:9;:16;;;;;;;;:31;;;;;;;;;:54;;;15669:4;;15574:100;;15613:54;15574:38;:100::i;:::-;15567:3;:107;15564:2967;;-1:-1:-1;;;;;15774:16:13;;;15698:24;15774:16;;;:9;:16;;;;;;;;:31;;;;;;;;;;;:46;;:49;;15725:262;;15742:107;;15759:6;;15767;;15698:24;;15774:46;15698:24;;15774:49;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15774:49:13;;;15767:57;;;;;;;;;;;;;;;:72;;;;;;;;;;;:81;;;15742:16;:107::i;:::-;-1:-1:-1;;;;;15908:16:13;;;15901:57;15908:16;;;:9;:16;;;;;;;;:31;;;;;;;;;;;:46;;:49;;15901:6;;:57;15908:46;15901:57;;15908:49;;;;;;;;;;;;;;;;-1:-1:-1;;;;;15908:49:13;;;15901:57;;;;;;;;;;;;;;;:72;;;;;;;;;;;:85;-1:-1:-1;;;15901:85:13;;;;15725:16;:262::i;:::-;16019:4;;15698:289;;-1:-1:-1;16019:4:13;;16018:5;16010:14;;;;;;16047:4;:11;;-1:-1:-1;;16047:11:13;16054:4;16047:11;;;16084:60;16101:16;16119:24;16047:4;16119:21;:24::i;16084:60::-;:63;;16146:1;16084:63;16081:2360;;;-1:-1:-1;;;;;16207:16:13;;;16175:22;16207:16;;;:9;:16;;;;;;;;:31;;;;;;;;;;;:46;;:49;;16200:6;;16175:22;;;;16207:49;;;;;;;;;;;;;;;;-1:-1:-1;;;;;16207:49:13;;;16200:57;;;;;;;;;;;;;;;:72;;;;;;;;;;16207:49;16200:87;;16335:7;;:44;;-1:-1:-1;;;;;16335:44:13;;16200:87;;-1:-1:-1;16207:49:13;;;16335:7;;;;;;;:17;;:44;;16200:87;;16335:44;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16335:44:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;16335:44:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;16335:44:13;;;;;;;;;16314:65;;16506:14;-1:-1:-1;;;;;16506:23:13;16503:197;;;16560:34;16570:5;16577:16;16560:9;:34::i;:::-;16503:197;;;16655:45;16664:10;16676:16;16694:5;16655:8;:45::i;:::-;16787:44;;-1:-1:-1;;;;;16787:44:13;;-1:-1:-1;;;;;16787:36:13;;;;;:44;;16824:6;;16787:44;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;16787:44:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;16890:12:13;;16873:38;;-1:-1:-1;16890:12:13;;;-1:-1:-1;16904:6:13;16873:16;:38::i;:::-;16858:12;:53;;-1:-1:-1;;;;;;16858:53:13;;;;;;;;;;;;17001:52;;-1:-1:-1;;;;;17001:52:13;;-1:-1:-1;;;;;17001:37:13;;;;;:52;;17039:5;;17046:6;;17001:52;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;17001:52:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;;;17115:15:13;;;;;;:8;:15;;;;;;17098:41;;-1:-1:-1;17115:15:13;;17132:6;17098:16;:41::i;:::-;-1:-1:-1;;;;;17080:15:13;;;;;;:8;:15;;;;;:59;;-1:-1:-1;;;;;;17080:59:13;;;;;;;;;;;;;17213:131;17235:13;17250:27;17270:6;17250:19;:27::i;:::-;17279:9;17290:37;17310:16;17290:19;:37::i;:::-;17329:14;17213:131;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17475:16:13;;;17458:14;17475:16;;;:9;:16;;;;;;;;:31;;;;;;;;;;;:46;;:49;;17458:14;;17475:49;;;;;;;;;;;;;-1:-1:-1;;;;;17475:49:13;;-1:-1:-1;17552:717:13;-1:-1:-1;;;;;17568:14:13;;;;;;;:6;:14;;;;;;;;:29;;;;;;;;;:44;;:51;17566:53;;17552:717;;;-1:-1:-1;;;;;17659:14:13;;;;;;;:6;:14;;;;;;;;:29;;;;;;;;;;:44;;:47;;:54;;;;17704:1;;17659:47;;;;;;;;;;;;;;;;-1:-1:-1;;;;;17659:47:13;:54;17656:566;;;-1:-1:-1;;;;;17756:14:13;;;;;;;:6;:14;;;;;;;;:29;;;;;;;;;:44;;:47;;17801:1;;17756:47;;;;;;;;;;;;;;;;;;17749:55;;-1:-1:-1;;;;;;17749:55:13;;;-1:-1:-1;;;;;17977:14:13;;;;;:6;:14;;;;;;:29;;;;;;;;;:38;;18129:50;;;;;17960:230;;17977:38;;;;;18017:172;;18034:146;;17977:38;;18129:50;18034:16;:146::i;:::-;18182:6;18017:16;:172::i;17960:230::-;-1:-1:-1;;;;;17919:14:13;;;;;;;:6;:14;;;;;;;;:29;;;;;;;;;:271;;-1:-1:-1;;;;;;17919:271:13;;;;;;;;;;;;17656:566;17621:3;;17552:717;;;-1:-1:-1;;;;;;18385:16:13;;;;;;;:9;:16;;;;;;;;:31;;;;;;;;;;;18378:39;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;18378:39:13;;;18385:31;18378:39;;;;18385:16;18378:39;:::i;:::-;;;16081:2360;;;;-1:-1:-1;;18463:4:13;:12;;-1:-1:-1;;18463:12:13;;;;15564:2967;15387:5492;;;-1:-1:-1;;;;;18718:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;:37;;18757:49;;;;;18684:132;;18701:106;;18718:37;;;;;18757:49;18701:16;:106::i;:::-;18809:6;18684:16;:132::i;:::-;:135;;18681:2198;;18848:4;;;;18847:5;18839:14;;;;;;18872:4;:11;;-1:-1:-1;;18872:11:13;18879:4;18872:11;;;;;;-1:-1:-1;;;;;18927:13:13;;;-1:-1:-1;18927:13:13;;;:6;:13;;;;;;;;:28;;;;;;;;;;;:43;;;;19152:37;;19110:124;;19127:63;;19144:6;;19152:37;;19127:16;:63::i;:::-;-1:-1:-1;;;;;19192:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;:41;-1:-1:-1;;;19192:41:13;;;;19110:16;:124::i;:::-;19083:151;;19342:14;-1:-1:-1;;;;;19342:23:13;19339:282;;;19388:34;19398:5;19405:16;19388:9;:34::i;:::-;19339:282;;;19489:7;;:44;;-1:-1:-1;;;;;19489:44:13;;19468:18;;19489:7;;;-1:-1:-1;;;;;19489:7:13;;:17;;:44;;19518:14;;19489:44;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;19489:44:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;19489:44:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;19489:44:13;;;;;;;;;19468:65;;19556:45;19565:10;19577:16;19595:5;19556:8;:45::i;:::-;19339:282;;-1:-1:-1;;;;;19760:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;:37;;19894:49;;;;;19743:211;;19760:37;;;;;19799:154;;19816:128;;19760:37;;19894:49;19816:16;:128::i;:::-;19946:6;19799:16;:154::i;19743:211::-;-1:-1:-1;;;;;19703:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;;;;;;:251;;-1:-1:-1;;;;;;19703:251:13;;;;;;;;;;;;;20025:44;;-1:-1:-1;;;;;20025:44:13;;:36;;:44;;20062:6;;20025:44;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20025:44:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;20120:12:13;;20103:38;;-1:-1:-1;20120:12:13;;;-1:-1:-1;20134:6:13;20103:16;:38::i;:::-;20088:12;:53;;-1:-1:-1;;;;;;20088:53:13;;;;;;;;;;;;20215:52;;-1:-1:-1;;;;;20215:52:13;;-1:-1:-1;;;;;20215:37:13;;;;;:52;;20253:5;;20260:6;;20215:52;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;20215:52:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;;;20321:15:13;;;;;;:8;:15;;;;;;20304:41;;-1:-1:-1;20321:15:13;;20338:6;20304:16;:41::i;:::-;-1:-1:-1;;;;;20286:15:13;;;;;;:8;:15;;;;;:59;;-1:-1:-1;;;;;;20286:59:13;;;;;;;;;;;;;20403:129;20423:13;20438:27;20458:6;20438:19;:27::i;:::-;20467:9;20478:37;20498:16;20478:19;:37::i;:::-;20517:14;20403:129;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;20571:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;:37;20554:63;;20571:37;;20610:6;20554:16;:63::i;:::-;:66;;20551:249;;-1:-1:-1;;;;;20751:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;;;20744:36;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;20744:36:13;;;20751:28;20744:36;;;;20751:13;20744:36;:::i;:::-;;;20551:249;-1:-1:-1;;20818:4:13;:12;;-1:-1:-1;;20818:12:13;;;-1:-1:-1;20818:12:13;18681:2198;20900:6;-1:-1:-1;20893:13:13;;15239:9835;21067:6;-1:-1:-1;;;;;21067:22:13;21064:4010;;;-1:-1:-1;;;;;21257:13:13;;;21105:18;21257:13;;;:6;:13;;;;;;;;:28;;;;;;;;;;;:51;;;21310:4;;21105:18;;;;21218:97;;21257:51;21218:38;:97::i;:::-;21211:3;:104;21208:3827;;21348:7;;:39;;-1:-1:-1;;;;;21348:39:13;;:7;;;;-1:-1:-1;;;;;21348:7:13;;:17;;:39;;21377:9;;21348:39;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;21348:39:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;21348:39:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;21348:39:13;;;;;;;;;-1:-1:-1;;;;;21535:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;:37;21335:52;;-1:-1:-1;21515:58:13;;21535:37;;21515:19;:58::i;:::-;21484:27;21504:6;21484:19;:27::i;:::-;:89;21481:3539;;;21597:6;21630:2069;-1:-1:-1;;;;;21641:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;:43;;:50;21639:52;;21630:2069;;;-1:-1:-1;;;;;21744:13:13;;;21724:17;21744:13;;;:6;:13;;;;;;;;:28;;;;;;;;;;;:43;;:46;;21788:1;;21744:46;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;21744:46:13;21724:66;;22027:27;22057:113;22074:9;:20;22084:9;-1:-1:-1;;;;;22074:20:13;-1:-1:-1;;;;;22074:20:13;;;;;;;;;;;;:35;22095:13;-1:-1:-1;;;;;22074:35:13;-1:-1:-1;;;;;22074:35:13;;;;;;;;;;;;:56;;;;;;;;;;;;22132:6;:13;22139:5;-1:-1:-1;;;;;22132:13:13;-1:-1:-1;;;;;22132:13:13;;;;;;;;;;;;:28;22146:13;-1:-1:-1;;;;;22132:28:13;-1:-1:-1;;;;;22132:28:13;;;;;;;;;;;;:37;;;;;;;;;;;;22057:16;:113::i;:::-;-1:-1:-1;;;;;22262:13:13;;;22197:24;22262:13;;;:6;:13;;;;;;;;:28;;;;;;;;;;;:37;22027:143;;-1:-1:-1;22197:24:13;22224:76;;22027:143;;22262:37;;22224:16;:76::i;:::-;22336:4;;22197:103;;-1:-1:-1;22336:4:13;;22335:5;22327:14;;;;;;22368:4;:11;;-1:-1:-1;;22368:11:13;22375:4;22368:11;;;-1:-1:-1;;;;;22474:24:13;;;;;;:91;;;22502:60;22519:16;22537:24;22559:1;22537:21;:24::i;22502:60::-;:63;;22564:1;22502:63;22474:91;22471:931;;;22597:49;22606:10;22618:16;22636:9;22597:8;:49::i;:::-;22753;22770:13;22785:16;22753;:49::i;:::-;22897:54;;-1:-1:-1;;;;;22897:54:13;;22737:65;;-1:-1:-1;;;;;;22897:36:13;;;;;:54;;22934:16;;22897:54;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;22897:54:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;23014:12:13;;22997:48;;-1:-1:-1;23014:12:13;;;-1:-1:-1;23028:16:13;22997;:48::i;:::-;22982:12;:63;;-1:-1:-1;;;;;;22982:63:13;;;;;;;;;;;;23156:66;;-1:-1:-1;;;;;23156:66:13;;-1:-1:-1;;;;;23156:37:13;;;;;:66;;23194:9;;23205:16;;23156:66;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;23156:66:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;;;23292:19:13;;;;;;:8;:19;;;;;;23275:55;;-1:-1:-1;23292:19:13;;23313:16;23275;:55::i;:::-;-1:-1:-1;;;;;23253:19:13;;;;;;:8;:19;;;;;;;;:77;;-1:-1:-1;;;;;;23253:77:13;;;;;;;;;;;;;:8;-1:-1:-1;22471:931:13;23428:4;:12;;-1:-1:-1;;23428:12:13;;;23467:188;;;;-1:-1:-1;;;;;23619:20:13;;;;;;;:9;:20;;;;;;;;:35;;;;;;;;;;;23612:43;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;23612:43:13;;;23619:35;23612:43;;;;23619:20;23612:43;:::i;:::-;;;23467:188;-1:-1:-1;;;21693:3:13;;21630:2069;;;23724:6;23721:1280;;;-1:-1:-1;;;;;23872:13:13;;;23811:26;23872:13;;;:6;:13;;;;;;;;:28;;;;;;;;;;;:49;;;23840:82;;23857:13;;23872:49;;23840:16;:82::i;:::-;-1:-1:-1;;;;;24079:13:13;;;24037:22;24079:13;;;:6;:13;;;;;;;;:28;;;;;;;;;;;:41;23811:111;;-1:-1:-1;24037:22:13;24062:79;;-1:-1:-1;;;24079:41:13;;;;23811:111;24062:16;:79::i;:::-;-1:-1:-1;;;;;24193:13:13;;;24168:22;24193:13;;;:6;:13;;;;;;;;:28;;;;;;;;;:43;;;24037:104;;-1:-1:-1;;;;;;24266:23:13;;24263:253;;;24380:32;24390:5;24397:14;24380:9;:32::i;:::-;24263:253;;;24473:43;24482:10;24494:14;24510:5;24473:8;:43::i;:::-;-1:-1:-1;;;;;24549:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;:43;;:50;-1:-1:-1;;24549:52:13;24546:55;;24543:223;;;-1:-1:-1;;;;;24737:13:13;;;;;;;:6;:13;;;;;;;;:28;;;;;;;;;;;24730:36;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;24730:36:13;;;24737:28;24730:36;;;;24737:13;24730:36;:::i;:::-;;;24543:223;24793:15;24811:27;24831:6;24811:19;:27::i;:::-;24793:45;;24883:5;-1:-1:-1;;;;;24870:107:13;;24890:13;24905:7;24914:9;24925:35;24945:14;24925:19;:35::i;:::-;24962:14;24870:107;;;;;;;;;;;;;;;;;;;23721:1280;;;;;21481:3539;;-1:-1:-1;25056:6:13;-1:-1:-1;25049:13:13;;-1:-1:-1;25049:13:13;5398:539;5509:4;5528:38;5541:6;5549:8;5559:6;5528:12;:38::i;:::-;5525:404;;;5585:60;;-1:-1:-1;;;;;5585:60:13;;-1:-1:-1;;;;;5585:34:13;;;;;:60;;5620:6;;5628:8;;5638:6;;5585:60;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5585:60:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;5585:60:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;5585:60:13;;;;;;;;;5582:295;;;-1:-1:-1;;;;;5699:17:13;;;;;;;:9;:17;;;;;;;;:29;;;;;;;;;;;;5665:19;;;;;;;;;;;:31;;;;;;;;:63;;;;;;;;;;-1:-1:-1;;;;;;5665:63:13;;;;;;;;;-1:-1:-1;;;5665:63:13;;;;;;;;;-1:-1:-1;;;;;5665:63:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;5754:17:13;;;;;;;:9;:17;;;;;;;;:29;;;;;;;;;;;5747:36;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5747:36:13;;;5754:29;5747:36;;;;5754:17;5747:36;:::i;:::-;;;5809:4;5802:11;;;;298:83:29;336:6;:13;;-1:-1:-1;;336:13:29;345:4;336:13;;;365:8;;;;336:6;;365:8;298:83::o;1409:498:2:-;1820:4;1864:17;1895:7;1409:498;:::o;867:96:0:-;946:10;867:96;:::o;20089:135:12:-;20148:7;20171:47;20176:1;-1:-1:-1;;;20179:38:12;;15925:3674;15984:7;16041:6;-1:-1:-1;;;;;16020:11:12;;;;:18;;16035:3;16020:18;;;:27;;;16074:11;;;;:18;;;;;;:27;;;16114:19;;16110:3484;;;16148:9;16161:6;16148:19;16144:107;;;-1:-1:-1;;;;;;16185:6:12;;;;;;;16181:46;;;16200:1;16193:8;;;;;;16181:46;-1:-1:-1;;;;;;16224:3:12;-1:-1:-1;16217:10:12;;-1:-1:-1;16217:10:12;16144:107;16250:1;16243:8;;;;;;16110:3484;16270:9;16283:6;16270:19;16266:3328;;;16298:1;16291:8;;;;;;16266:3328;-1:-1:-1;;;16333:11:12;;;;-1:-1:-1;;;;;16333:49:12;;;;;;;;-1:-1:-1;;;;;16412:44:12;16469:14;16465:92;;16497:1;16485:13;;16465:92;;;-1:-1:-1;;;16512:45:12;16465:92;-1:-1:-1;;;16581:11:12;;;;-1:-1:-1;;;;;16581:49:12;;;;;;;;-1:-1:-1;;;;;16660:44:12;16717:14;16713:92;;16745:1;16733:13;;16713:92;;;-1:-1:-1;;;16760:45:12;16713:92;16820:15;16816:2771;;-1:-1:-1;;;;;;16844:18:12;;-1:-1:-1;;;16844:18:12;:38;;16881:1;16844:38;;;557:34;16844:38;16837:45;;;;;;;;;;16816:2771;16900:15;16896:2691;;-1:-1:-1;;;;;;16924:18:12;;-1:-1:-1;;;16924:18:12;:38;;16961:1;16924:38;;16896:2691;17002:39;;;17060:14;;;;;;;17056:2522;;;17101:3;17093:5;:11;17089:241;;;17113:1;17106:8;;;;;;;;;;;17089:241;17144:1;17136:5;:9;17132:198;;;17162:5;17147:20;;;;;;;;;;;;;17132:198;;;-1:-1:-1;;17189:5:12;:12;17185:145;;;17210:1;17203:8;;;;;;;;;;;17185:145;17241:1;17233:5;:9;17229:101;;;17275:5;17274:6;;17259:21;;;;;;;;;;;;;17307:9;17295:21;;17229:101;17346:24;;;;-1:-1:-1;;;17391:45:12;;17387:125;;17468:1;17484:14;;;;17453:16;;;;;17387:125;17532:9;17545:6;17532:19;17528:445;;;17573:5;:45;;-1:-1:-1;;;;;17573:45:12;;;-1:-1:-1;;;;;;17573:45:12;17566:52;;;;;;;;;;;17528:445;-1:-1:-1;;;17655:10:12;:44;17651:127;;;17713:1;17701:13;;17651:127;;;-1:-1:-1;;;;;17734:44:12;;;;17651:127;17946:10;17922:3;17909:9;:16;;17841:5;:46;;17886:1;17841:46;;;-1:-1:-1;;;17841:46:12;-1:-1:-1;;;;;17840:86:12;;:116;17804:154;;17797:161;;;;;;;;;;;17056:2522;18015:1;18007:5;:9;18003:195;;;18048:1;18033:16;;;;;18077:1;18064:14;;;;18003:195;;;18110:1;18102:5;:9;18098:100;;;18143:1;18128:16;;;;;18183:1;18171:9;:13;18159:25;;18098:100;18224:3;18216:5;:11;18212:241;;;18242:1;18229:14;;18212:241;;;18273:1;18265:5;:9;18261:192;;;18316:1;18308:5;:9;18303:1;18290:10;:14;:27;;;;;;;;;;18321:1;18289:33;18276:46;;18261:192;;;-1:-1:-1;;18344:5:12;:12;18340:113;;;18371:1;18358:14;;18340:113;;;-1:-1:-1;;18394:5:12;:10;18390:63;;;18447:1;18439:5;18438:6;;:10;18433:1;18420:10;:14;:28;;;;;;;;;;18452:1;18419:34;18406:47;;18390:63;18486:10;18472;:24;18468:165;;18512:10;18498:24;;;;18468:165;;;18581:10;18568;:23;18555:36;;18614:5;18606:13;;18468:165;18651:15;18647:54;;-1:-1:-1;557:34:12;;-1:-1:-1;18681:20:12;;-1:-1:-1;;;;;;18681:20:12;18647:54;18716:11;18730:16;18735:10;18730:3;:16::i;:::-;18716:30;;18765:3;18772;18765:10;18761:527;;;18819:1;18805:10;:15;;-1:-1:-1;;;;;18805:48:12;18792:61;;18881:1;18868:14;;;;18761:527;;;18912:3;18906;:9;18902:386;;;18948:3;:9;;;18976:17;;;18972:253;;;19039:5;19025:10;:19;;-1:-1:-1;;;;;19025:52:12;19012:65;;19107:5;19094:18;;;;18972:253;;;19208:1;;-1:-1:-1;;19166:13:12;19151:28;;;;;18972:253;18902:386;;;;-1:-1:-1;;;;;19244:44:12;;;;18902:386;19307:9;19320:6;19307:19;19303:263;;;19348:5;:45;;-1:-1:-1;;;;;19348:45:12;;;-1:-1:-1;;;;;;19348:45:12;19341:52;;;;;;;;;;;;19303:263;19554:10;19532:3;19519:9;:16;;19453:5;:46;;19498:1;19453:46;;;-1:-1:-1;;;19453:46:12;-1:-1:-1;;;;;19452:84:12;;:112;19418:148;;19411:155;;;;;;;;;;;;2240:225:1;-1:-1:-1;;;;;2313:22:1;;2305:73;;;;-1:-1:-1;;;;;2305:73:1;;;;;;;;;2414:6;;2393:38;;-1:-1:-1;;;;;2393:38:1;;;;2414:6;;2393:38;;2414:6;;2393:38;2441:6;:17;;-1:-1:-1;;;;;;2441:17:1;-1:-1:-1;;;;;2441:17:1;;;;;;;;;;2240:225::o;11554:2641:13:-;11682:4;-1:-1:-1;;;;;;11756:11:13;;11748:20;;;;;;11853:56;;-1:-1:-1;;;;;11853:56:13;;-1:-1:-1;;;;;11853:41:13;;;;;:56;;11895:6;;11903:5;;11853:56;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;11853:56:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;11853:56:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;11853:56:13;;;;;;;;;11849:100;;-1:-1:-1;11932:5:13;11925:12;;11849:100;12206:8;;12196;:18;12193:1973;;12312:6;;12344:23;;-1:-1:-1;;;;;12344:23:13;;12295:14;;-1:-1:-1;;;;;12312:6:13;;:14;;12344:18;;;;:23;;:8;;12295:14;;12365:1;;12344:23;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12344:23:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12344:23:13;;;;;;39:16:-1;36:1;17:17;2:54;101:4;12344:23:13;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;12344:23:13;;;;;;;;;12377:8;;12327:59;;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;12327:59:13;;;;12312:102;;;;;;;;;12408:4;;12312:102;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12312:102:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12312:102:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12312:102:13;;;;;;;;;12465:6;;12497:23;;-1:-1:-1;;;;;12497:23:13;;12295:119;;-1:-1:-1;12445:17:13;;-1:-1:-1;;;;;12465:6:13;;;;:14;;12497:18;;;;:23;;:8;;12445:17;;12518:1;;12497:23;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12497:23:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12497:23:13;;;;;;39:16:-1;36:1;17:17;2:54;101:4;12497:23:13;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;12497:23:13;;;;;;;;;12530:8;;12480:59;;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;12480:59:13;;;;12465:102;;;;;;;;;12561:4;;12465:102;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12465:102:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12465:102:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;12465:102:13;;;;;;;;;12582:6;;:39;;-1:-1:-1;;;;;12582:39:13;;12445:122;;-1:-1:-1;;;;;;12582:6:13;;:20;;:39;;12603:6;;12445:122;;12582:39;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12582:39:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;12715:20:13;12738:22;;;:11;:22;;;;;-1:-1:-1;;;;;12775:24:13;;12814:8;;;:24;;-1:-1:-1;;;;;12814:24:13;;;-1:-1:-1;;;;;;12814:24:13;;;;;;;12853:7;;;:15;;;;;;;;;;;;;;;12883:8;;;:17;;;;;;-1:-1:-1;;;;;;12883:17:13;;;;;;12814:24;12915:18;;:29;;;12738:22;-1:-1:-1;12972:24:13;;:21;:24::i;:::-;12959:11;;;:37;;-1:-1:-1;;;;;;12959:37:13;;;;;;;;;;;;13028:28;13050:5;13028:21;:28::i;:::-;13011:1;:14;;;:45;;;;;-1:-1:-1;;;;;13011:45:13;;;;;;;;;;;;12193:1973;;;;;;13590:6;;13622:23;;-1:-1:-1;;;;;13622:23:13;;13570:17;;-1:-1:-1;;;;;13590:6:13;;:14;;13622:18;;;;:23;;:8;;13570:17;;13643:1;;13622:23;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13622:23:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13622:23:13;;;;;;39:16:-1;36:1;17:17;2:54;101:4;13622:23:13;80:15:-1;;;-1:-1;;76:31;65:43;;120:4;113:20;13622:23:13;;;;;;;;;13605:41;;;;;;;;;;;;;-1:-1:-1;;26:21;;;22:32;6:49;;13605:41:13;;;;13590:84;;;;;;;;;13668:4;;13590:84;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13590:84:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13590:84:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;13590:84:13;;;;;;;;;13730:20;13753:22;;;:11;:22;;;;;-1:-1:-1;;;;;13790:24:13;;13829:8;;;:24;;-1:-1:-1;;;;;13829:24:13;;;-1:-1:-1;;;;;;13829:24:13;;;;;;;13868:7;;;:15;;;;;;;;;;;;;;;13898:8;;;:17;;;;;;-1:-1:-1;;;;;;13898:17:13;;;;;;13829:24;13930:18;;;:29;;;13570:104;;-1:-1:-1;13753:22:13;13987:24;;:21;:24::i;:::-;13974:11;;;:37;;-1:-1:-1;;;;;;13974:37:13;;;;;;;;;;;;14043:28;14065:5;14043:21;:28::i;:::-;14026:1;:14;;;:45;;;;;-1:-1:-1;;;;;14026:45:13;;;;;;;;;;;;12193:1973;;;-1:-1:-1;14183:4:13;11554:2641;;;;;;;:::o;20923:2405:12:-;20982:7;21039:6;-1:-1:-1;;;;;21018:11:12;;;;:18;;21033:3;21018:18;;;:27;;;21072:11;;;;:18;;;;;;:27;;;21112:19;;21108:2215;;;21146:9;21159:6;21146:19;21142:361;;;-1:-1:-1;;;;;;21182:6:12;;;;;;;21178:164;;;-1:-1:-1;;;;;;21201:38:12;;21197:42;;21190:49;;21178:164;-1:-1:-1;;;;;;;;;21259:5:12;;;:43;;21255:87;;;-1:-1:-1;;;21311:5:12;;;21304:12;;21142:361;-1:-1:-1;;;;;;;21373:38:12;;21369:124;;-1:-1:-1;;;;;;21425:3:12;-1:-1:-1;21418:10:12;;-1:-1:-1;21418:10:12;21369:124;-1:-1:-1;;;;;;21455:38:12;;21451:42;;21444:49;;21108:2215;21520:9;21533:6;21520:19;21516:1807;;;-1:-1:-1;;;;;;;21556:38:12;;21552:124;;-1:-1:-1;;;;;;21608:3:12;-1:-1:-1;21601:10:12;;-1:-1:-1;21601:10:12;21552:124;-1:-1:-1;;;;;;21638:38:12;;21634:42;;21627:49;;21516:1807;-1:-1:-1;;;;;21720:11:12;;;;:44;21777:14;21773:92;;21805:1;21793:13;;21773:92;;;-1:-1:-1;;;21820:45:12;21773:92;-1:-1:-1;;;;;21897:11:12;;;;:44;21954:14;21950:92;;21982:1;21970:13;;21950:92;;;-1:-1:-1;;;21997:45:12;21950:92;22053:24;;;;22090:15;22086:130;;-1:-1:-1;;;22124:5:12;;;22123:44;:93;;557:34;22123:93;;;-1:-1:-1;;;22116:100:12;;;;;;;;22086:130;22227:22;;;;22260:11;-1:-1:-1;;;22283:73:12;;;:198;;-1:-1:-1;;;22374:10:12;:73;;:107;;22465:16;22470:10;22465:3;:16::i;:::-;22374:107;;;22450:3;22374:107;22283:198;;;22359:3;22283:198;22260:221;;22514:5;22508:3;22496:9;:15;:23;22492:689;;;22557:1;22545:13;;22582:1;22569:14;;22492:689;;;22621:5;22615:3;22603:9;:15;:23;22599:582;;;22668:5;22656:9;:17;22652:148;;;22709:9;22701:5;:17;22686:32;;;;;22652:148;;;22750:5;22738:9;:17;22734:66;;;22795:5;22783:9;:17;22768:32;;;;;22734:66;22823:1;22811:13;;22599:582;;;22862:5;22856:3;22844:9;:15;:23;22840:341;;;22892:6;22880:18;;22922:1;22909:14;;22840:341;;;22960:3;22954;:9;22950:116;;;22997:3;22991;:9;22976:24;;;;;22950:116;;;23026:3;23020;:9;23016:50;;;23063:3;23057;:9;23042:24;;;;;23016:50;-1:-1:-1;;;;;23079:44:12;;;;23166:5;23160:3;23148:9;:15;:23;23136:35;;22840:341;23303:10;23297:3;23284:9;:16;;23230:1;23226;:5;-1:-1:-1;;;23225:44:12;;;23216:54;;-1:-1:-1;;;;;23216:84:12;;:97;23198:117;;23191:124;;;;;;;;;30757:431:13;-1:-1:-1;;;;;30943:14:13;;;30926;30943;;;:6;:14;;;;;;;;:27;;;;;;;;;;;;;;31023:22;;;31056:30;;;-1:-1:-1;;;31056:30:13;31023:22;;;;-1:-1:-1;;;;;;31023:22:13;;;;;;;-1:-1:-1;;;;;31056:30:13;;;;;;;31023:22;31097:16;;:34;;;;31142:24;;:38;30757:431::o;5945:731::-;6034:4;6117:65;6134:29;6156:6;6134:21;:29::i;:::-;-1:-1:-1;;;;;6165:16:13;;;;;;:8;:16;;;;;;;;6117;:65::i;:::-;:69;;-1:-1:-1;;6117:69:13;:141;;;;6190:65;6207:29;6229:6;6207:21;:29::i;6190:65::-;:68;;;6117:141;6114:532;;;-1:-1:-1;;;;;6397:16:13;;;;;;:8;:16;;;;;;6380:65;;6397:16;;6415:29;6437:6;6415:21;:29::i;6380:65::-;-1:-1:-1;;;;;6361:16:13;;;;;;;:8;:16;;;;;;:84;;-1:-1:-1;;;;;;6361:84:13;;;;;;;;6498:18;;;;;;;6481:67;;6498:18;6518:29;6540:6;6518:21;:29::i;6481:67::-;-1:-1:-1;;;;;6460:18:13;;;;;;:8;:18;;;;;;;;:88;;-1:-1:-1;;;;;;6460:88:13;;;;;;;;;;;;;:8;-1:-1:-1;6623:11:13;;6114:532;-1:-1:-1;6663:5:13;5945:731;;;;;:::o;32787:171::-;32883:67;;-1:-1:-1;;;;;32883:67:13;;-1:-1:-1;;;;;32883:44:13;;;;;:67;;32928:14;;32944:5;;32883:67;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;32883:67:13;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;32883:67:13;;;;;;;101:4:-1;97:9;90:4;84;80:15;76:31;69:5;65:43;126:6;120:4;113:20;0:138;32883:67:13;;;;;;;;;;32787:171;;;:::o;31233:497::-;-1:-1:-1;;;;;31455:17:13;;;31438:14;31455:17;;;:9;:17;;;;;;;;:30;;;;;;;;;;;31496:16;;;27:10:-1;;39:1;23:18;;;45:23;;31496:29:13;;;;;;;;;;;;-1:-1:-1;;;;;;31496:29:13;;;;;;;;;;;;31536:22;;;:46;;-1:-1:-1;;;;;;31536:46:13;;;;;;;;31593:30;;-1:-1:-1;;;;;31593:30:13;-1:-1:-1;;;31593:30:13;;;;;;;;;;;;;;31634:16;;;:35;-1:-1:-1;31680:24:13;;;:42;31233:497::o;10210:192:28:-;10329:20;;;10368:25;;;;10360:34;;;;;24621:2698:12;24680:7;24737:6;-1:-1:-1;;;;;24716:11:12;;;;:18;;24731:3;24716:18;;;:27;;;24770:11;;;;:18;;;;;;:27;;;24810:19;;24806:2508;;;24844:9;24857:6;24844:19;24840:98;;;-1:-1:-1;;;;;;24872:3:12;-1:-1:-1;24865:10:12;;-1:-1:-1;24865:10:12;24806:2508;24956:9;24969:6;24956:19;24952:2362;;;-1:-1:-1;;;;;;;24990:38:12;;:43;24986:140;;-1:-1:-1;;;;;;25042:3:12;-1:-1:-1;25035:10:12;;-1:-1:-1;25035:10:12;24986:140;-1:-1:-1;;;25083:5:12;;;-1:-1:-1;;;25082:44:12;25059:67;;24952:2362;-1:-1:-1;;;;;;;25144:38:12;;25140:2174;;-1:-1:-1;;;;;;;25202:38:12;;25198:144;;-1:-1:-1;;;;;;25254:3:12;-1:-1:-1;25247:10:12;;-1:-1:-1;25247:10:12;25198:144;-1:-1:-1;;;25299:5:12;;;-1:-1:-1;;;25298:44:12;-1:-1:-1;;;;;25278:64:12;25271:71;;25140:2174;-1:-1:-1;;;;;25386:11:12;;;;:44;25443:14;25439:92;;25471:1;25459:13;;25439:92;;;-1:-1:-1;;;25486:45:12;25439:92;-1:-1:-1;;;;;25563:11:12;;;;:44;25620:14;25616:321;;25651:15;;25647:181;;25681:10;25700:16;25705:10;25700:3;:16::i;:::-;25778:1;;-1:-1:-1;25694:3:12;:22;25792:24;;;-1:-1:-1;;25792:24:12;;25731:20;;;;;-1:-1:-1;25647:181:12;25616:321;;;-1:-1:-1;;;25875:44:12;25924:3;25874:53;25616:321;25973:10;25960;:23;;;;;;;-1:-1:-1;25996:15:12;25992:130;;-1:-1:-1;;;26030:5:12;;;26029:44;:93;;557:34;26029:93;;25992:130;-1:-1:-1;;;26141:10:12;:44;;26133:53;;;;26197:11;-1:-1:-1;;;26220:10:12;:45;;:196;;-1:-1:-1;;;26296:10:12;:45;;:120;;-1:-1:-1;;;26359:10:12;:45;;:57;;26413:3;26359:57;;;26407:3;26359:57;26296:120;;;26344:3;26296:120;26220:196;;;;;26268:16;26273:10;26268:3;:16::i;:::-;26197:219;;26449:9;26461:5;26449:17;26443:3;26431:9;:15;:35;26427:745;;;26503:6;26491:18;;26533:1;26520:14;;26427:745;;;26581:9;26566:3;26554:9;:15;26572:5;26554:23;:36;26550:622;;;26628:1;26616:13;;26653:1;26640:14;;26550:622;;;26701:9;26686:3;26674:9;:15;26692:5;26674:23;:36;26670:502;;;26760:9;26740;26752:5;26740:17;:29;26736:196;;;26817:9;26797;26809:5;26797:17;:29;26782:44;;;;;26736:196;;;26866:9;26846;26858:5;26846:17;:29;26842:90;;;26927:5;26915:9;26903;:21;:29;26888:44;;;;;26842:90;26957:1;26945:13;;26670:502;;;27005:3;26999;:9;26995:50;;;27042:3;27036;:9;27021:24;;;;;26995:50;-1:-1:-1;;;;;27058:44:12;;;;27153:9;27139:3;27127:9;:15;27145:5;27127:23;:35;27115:47;;26670:502;27294:10;27288:3;27275:9;:16;;27221:1;27217;:5;-1:-1:-1;;;27216:44:12;;;27207:54;;-1:-1:-1;;;;;27207:84:12;;:97;27189:117;;27182:124;;;;;;;;;32966:139:13;33051:5;-1:-1:-1;;;;;33035:32:13;:61;33068:27;33088:6;33068:19;:27::i;:::-;33035:61;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;792:33634:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;792:33634:13;;;-1:-1:-1;792:33634:13;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;792:33634:13;;;-1:-1:-1;792:33634:13;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;792:33634:13;;;;;;;5:118:-1;;72:46;110:6;97:20;72:46;;130:122;;208:39;239:6;233:13;208:39;;259:116;;334:36;362:6;356:13;334:36;;382:118;;449:46;487:6;474:20;449:46;;507:122;;585:39;616:6;610:13;585:39;;636:118;;703:46;741:6;728:20;703:46;;761:122;;839:39;870:6;864:13;839:39;;891:444;;1004:3;997:4;989:6;985:17;981:27;971:2;;1022:1;1019;1012:12;971:2;1052:6;1046:13;1074:65;1089:49;1131:6;1089:49;;;1074:65;;;1065:74;;1159:6;1152:5;1145:21;1195:4;1187:6;1183:17;1228:4;1221:5;1217:16;1263:3;1254:6;1249:3;1245:16;1242:25;1239:2;;;1280:1;1277;1270:12;1239:2;1290:39;1322:6;1317:3;1312;1290:39;;;964:371;;;;;;;;1597:241;;1701:2;1689:9;1680:7;1676:23;1672:32;1669:2;;;1717:1;1714;1707:12;1669:2;1752:1;1769:53;1814:7;1794:9;1769:53;;1845:263;;1960:2;1948:9;1939:7;1935:23;1931:32;1928:2;;;1976:1;1973;1966:12;1928:2;2011:1;2028:64;2084:7;2064:9;2028:64;;2115:366;;;2236:2;2224:9;2215:7;2211:23;2207:32;2204:2;;;2252:1;2249;2242:12;2204:2;2287:1;2304:53;2349:7;2329:9;2304:53;;;2294:63;;2266:97;2394:2;2412:53;2457:7;2448:6;2437:9;2433:22;2412:53;;;2402:63;;2373:98;2198:283;;;;;;2488:617;;;;;2643:3;2631:9;2622:7;2618:23;2614:33;2611:2;;;2660:1;2657;2650:12;2611:2;2695:1;2712:53;2757:7;2737:9;2712:53;;;2702:63;;2674:97;2802:2;2820:53;2865:7;2856:6;2845:9;2841:22;2820:53;;;2810:63;;2781:98;2910:2;2928:53;2973:7;2964:6;2953:9;2949:22;2928:53;;;2918:63;;2889:98;3018:2;3036:53;3081:7;3072:6;3061:9;3057:22;3036:53;;;3026:63;;2997:98;2605:500;;;;;;;;3112:366;;;3233:2;3221:9;3212:7;3208:23;3204:32;3201:2;;;3249:1;3246;3239:12;3201:2;3284:1;3301:53;3346:7;3326:9;3301:53;;;3291:63;;3263:97;3391:2;3409:53;3454:7;3445:6;3434:9;3430:22;3409:53;;3485:257;;3597:2;3585:9;3576:7;3572:23;3568:32;3565:2;;;3613:1;3610;3603:12;3565:2;3648:1;3665:61;3718:7;3698:9;3665:61;;3749:263;;3864:2;3852:9;3843:7;3839:23;3835:32;3832:2;;;3880:1;3877;3870:12;3832:2;3915:1;3932:64;3988:7;3968:9;3932:64;;4019:617;;;;;4174:3;4162:9;4153:7;4149:23;4145:33;4142:2;;;4191:1;4188;4181:12;4142:2;4226:1;4243:53;4288:7;4268:9;4243:53;;4643:263;;4758:2;4746:9;4737:7;4733:23;4729:32;4726:2;;;4774:1;4771;4764:12;4726:2;4809:1;4826:64;4882:7;4862:9;4826:64;;4913:491;;;;5051:2;5039:9;5030:7;5026:23;5022:32;5019:2;;;5067:1;5064;5057:12;5019:2;5102:1;5119:53;5164:7;5144:9;5119:53;;;5109:63;;5081:97;5209:2;5227:53;5272:7;5263:6;5252:9;5248:22;5227:53;;;5217:63;;5188:98;5317:2;5335:53;5380:7;5371:6;5360:9;5356:22;5335:53;;;5325:63;;5296:98;5013:391;;;;;;5411:869;;;;;;;5600:3;5588:9;5579:7;5575:23;5571:33;5568:2;;;5617:1;5614;5607:12;5568:2;5652:1;5669:53;5714:7;5694:9;5669:53;;;5659:63;;5631:97;5759:2;5777:53;5822:7;5813:6;5802:9;5798:22;5777:53;;;5767:63;;5738:98;5867:2;5885:53;5930:7;5921:6;5910:9;5906:22;5885:53;;;5875:63;;5846:98;5975:2;5993:53;6038:7;6029:6;6018:9;6014:22;5993:53;;;5983:63;;5954:98;6083:3;6102:53;6147:7;6138:6;6127:9;6123:22;6102:53;;;6092:63;;6062:99;6192:3;6211:53;6256:7;6247:6;6236:9;6232:22;6211:53;;;6201:63;;6171:99;5562:718;;;;;;;;;6287:362;;6412:2;6400:9;6391:7;6387:23;6383:32;6380:2;;;6428:1;6425;6418:12;6380:2;6463:24;;6507:18;6496:30;;6493:2;;;6539:1;6536;6529:12;6493:2;6559:74;6625:7;6616:6;6605:9;6601:22;6559:74;;6656:241;;6760:2;6748:9;6739:7;6735:23;6731:32;6728:2;;;6776:1;6773;6766:12;6728:2;6811:1;6828:53;6873:7;6853:9;6828:53;;7175:173;;7262:46;7304:3;7296:6;7262:46;;;-1:-1;;7337:4;7328:14;;7255:93;7356:142;7447:45;7486:5;7447:45;;;7442:3;7435:58;7429:69;;;7505:144;7604:39;7637:5;7604:39;;7900:159;8001:52;8021:31;8046:5;8021:31;;;8001:52;;8097:621;;8242:54;8290:5;8242:54;;;8309:86;8388:6;8383:3;8309:86;;;8302:93;;8415:56;8465:5;8415:56;;;8492:1;8477:219;8502:6;8499:1;8496:13;8477:219;;;8549:63;8608:3;8599:6;8593:13;8549:63;;;8542:70;;8629:60;8682:6;8629:60;;;8619:70;-1:-1;8524:1;8517:9;8477:219;;;-1:-1;8709:3;;8221:497;-1:-1;;;;8221:497;8726:111;8803:28;8825:5;8803:28;;8844:120;8927:31;8952:5;8927:31;;9106:120;9189:31;9214:5;9189:31;;9368:159;9469:52;9489:31;9514:5;9489:31;;;9469:52;;9534:343;;9644:38;9676:5;9644:38;;;9694:70;9757:6;9752:3;9694:70;;;9687:77;;9769:52;9814:6;9809:3;9802:4;9795:5;9791:16;9769:52;;;9842:29;9864:6;9842:29;;;9833:39;;;;9624:253;-1:-1;;;9624:253;9884:150;9983:45;10022:5;9983:45;;10198:360;;10328:39;10361:5;10328:39;;;10379:89;10461:6;10456:3;10379:89;;;10372:96;;10473:52;10518:6;10513:3;10506:4;10499:5;10495:16;10473:52;;;10537:16;;;;;10308:250;-1:-1;;10308:250;10912:221;-1:-1;;;;;11048:79;;11041:92;11142:465;;11302:67;11366:2;11361:3;11302:67;;;11402:66;11382:87;;-1:-1;;;;;11498:2;11489:12;;11482:88;11598:2;11589:12;;11288:319;-1:-1;;11288:319;11616:221;-1:-1;;;;;11752:79;;11745:92;11846:221;-1:-1;;;;;11982:79;;11975:92;12076:221;-1:-1;;;;;12212:79;;12205:92;12306:361;;12465:65;12528:1;12523:3;12465:65;;;-1:-1;;;;;12543:87;;12658:2;12649:12;;12451:216;-1:-1;;12451:216;12676:221;-1:-1;;;;;12812:79;;12805:92;12906:398;;13084:84;13166:1;13161:3;13084:84;;;-1:-1;;;;;13181:87;;13296:1;13287:11;;13070:234;-1:-1;;13070:234;13313:221;-1:-1;;;;;13449:79;;13442:92;13543:221;-1:-1;;;;;13679:79;;13672:92;13773:364;;13933:67;13997:2;13992:3;13933:67;;;14033:66;14013:87;;14128:2;14119:12;;13919:218;-1:-1;;13919:218;14146:465;;14306:67;14370:2;14365:3;14306:67;;;14406:66;14386:87;;14507:66;14502:2;14493:12;;14486:88;14602:2;14593:12;;14292:319;-1:-1;;14292:319;14620:398;;14798:84;14880:1;14875:3;14798:84;;;-1:-1;;;;;14895:87;;15010:1;15001:11;;14784:234;-1:-1;;14784:234;15027:221;-1:-1;;;;;15163:79;;15156:92;15549:114;15628:29;15651:5;15628:29;;15670:383;;15817:75;15888:3;15879:6;15817:75;;;15914:2;15909:3;15905:12;15898:19;;15928:75;15999:3;15990:6;15928:75;;;-1:-1;16025:2;16016:12;;15805:248;-1:-1;;15805:248;16060:244;;16179:75;16250:3;16241:6;16179:75;;;-1:-1;16276:2;16267:12;;16167:137;-1:-1;16167:137;16311:266;;16457:95;16548:3;16539:6;16457:95;;16584:672;;16859:95;16950:3;16941:6;16859:95;;;16852:102;;16972:148;17116:3;16972:148;;;16965:155;;17131:75;17202:3;17193:6;17131:75;;17263:511;;17490:148;17634:3;17490:148;;;17483:155;;17649:75;17720:3;17711:6;17649:75;;17781:213;17899:2;17884:18;;17913:71;17888:9;17957:6;17913:71;;18001:229;18127:2;18112:18;;18141:79;18116:9;18193:6;18141:79;;18237:547;18439:3;18424:19;;18454:71;18428:9;18498:6;18454:71;;;18536:72;18604:2;18593:9;18589:18;18580:6;18536:72;;;18619;18687:2;18676:9;18672:18;18663:6;18619:72;;;18702;18770:2;18759:9;18755:18;18746:6;18702:72;;18791:435;18965:2;18950:18;;18979:71;18954:9;19023:6;18979:71;;;19061:72;19129:2;19118:9;19114:18;19105:6;19061:72;;;19144;19212:2;19201:9;19197:18;19188:6;19144:72;;19233:324;19379:2;19364:18;;19393:71;19368:9;19437:6;19393:71;;;19475:72;19543:2;19532:9;19528:18;19519:6;19475:72;;19564:771;19822:3;19807:19;;19837:71;19811:9;19881:6;19837:71;;;19919:72;19987:2;19976:9;19972:18;19963:6;19919:72;;;20002;20070:2;20059:9;20055:18;20046:6;20002:72;;;20085;20153:2;20142:9;20138:18;20129:6;20085:72;;;20168:73;20236:3;20225:9;20221:19;20212:6;20168:73;;;20252;20320:3;20309:9;20305:19;20296:6;20252:73;;;19793:542;;;;;;;;;;20342:659;20572:3;20557:19;;20587:71;20561:9;20631:6;20587:71;;;20669:72;20737:2;20726:9;20722:18;20713:6;20669:72;;;20752;20820:2;20809:9;20805:18;20796:6;20752:72;;;20835;20903:2;20892:9;20888:18;20879:6;20835:72;;;20918:73;20986:3;20975:9;20971:19;20962:6;20918:73;;;20543:458;;;;;;;;;21008:361;21176:2;21190:47;;;21161:18;;21251:108;21161:18;21345:6;21251:108;;21376:201;21488:2;21473:18;;21502:65;21477:9;21540:6;21502:65;;21584:213;21702:2;21687:18;;21716:71;21691:9;21760:6;21716:71;;21804:324;21950:2;21935:18;;21964:71;21939:9;22008:6;21964:71;;;22046:72;22114:2;22103:9;22099:18;22090:6;22046:72;;22135:659;22365:3;22350:19;;22380:71;22354:9;22424:6;22380:71;;;22462:72;22530:2;22519:9;22515:18;22506:6;22462:72;;;22545;22613:2;22602:9;22598:18;22589:6;22545:72;;;22628;22696:2;22685:9;22681:18;22672:6;22628:72;;;22711:73;22779:3;22768:9;22764:19;22755:6;22711:73;;22801:213;22919:2;22904:18;;22933:71;22908:9;22977:6;22933:71;;23021:707;23259:3;23244:19;;23274:79;23248:9;23326:6;23274:79;;;23364:80;23440:2;23429:9;23425:18;23416:6;23364:80;;;23455;23531:2;23520:9;23516:18;23507:6;23455:80;;;23546;23622:2;23611:9;23607:18;23598:6;23546:80;;23735:324;23881:2;23866:18;;23895:71;23870:9;23939:6;23895:71;;;23977:72;24045:2;24034:9;24030:18;24021:6;23977:72;;24066:499;24264:2;24249:18;;24278:79;24253:9;24330:6;24278:79;;;24368:88;24452:2;24441:9;24437:18;24428:6;24368:88;;;24467;24551:2;24540:9;24536:18;24527:6;24467:88;;24572:915;24934:3;24949:47;;;24919:19;;25010:76;24919:19;25072:6;25010:76;;;25002:84;;25097:135;25228:2;25217:9;25213:18;25097:135;;;25243;25374:2;25363:9;25359:18;25243:135;;;25389:88;25473:2;25462:9;25458:18;25449:6;25389:88;;25494:915;25856:3;25871:47;;;25841:19;;25932:76;25841:19;25994:6;25932:76;;;25924:84;;26019:135;26150:2;26139:9;26135:18;26019:135;;26416:915;26778:3;26793:47;;;26763:19;;26854:76;26763:19;26916:6;26854:76;;;26846:84;;26941:135;27072:2;27061:9;27057:18;26941:135;;27338:293;27472:2;27486:47;;;27457:18;;27547:74;27457:18;27607:6;27547:74;;27638:407;27829:2;27843:47;;;27814:18;;27904:131;27814:18;27904:131;;28052:450;28261:2;28246:18;;28275:134;28250:9;28275:134;;;28420:72;28488:2;28477:9;28473:18;28464:6;28420:72;;28509:1023;28925:3;28940:47;;;28910:19;;29001:130;28910:19;29001:130;;;28993:138;;29142:135;29273:2;29262:9;29258:18;29142:135;;;29288;29419:2;29408:9;29404:18;29288:135;;;29434:88;29518:2;29507:9;29503:18;29494:6;29434:88;;29539:407;29730:2;29744:47;;;29715:18;;29805:131;29715:18;29805:131;;29953:407;30144:2;30158:47;;;30129:18;;30219:131;30129:18;30219:131;;30367:339;30548:2;30533:18;;30562:134;30537:9;30562:134;;30933:547;31135:3;31120:19;;31150:71;31124:9;31194:6;31150:71;;;31232:72;31300:2;31289:9;31285:18;31276:6;31232:72;;31487:659;31717:3;31702:19;;31732:71;31706:9;31776:6;31732:71;;32153:205;32267:2;32252:18;;32281:67;32256:9;32321:6;32281:67;;32365:256;32427:2;32421:9;32453:17;;;32528:18;32513:34;;32549:22;;;32510:62;32507:2;;;32585:1;32582;32575:12;32507:2;32601;32594:22;32405:216;;-1:-1;32405:216;32628:259;;32772:18;32764:6;32761:30;32758:2;;;32804:1;32801;32794:12;32758:2;-1:-1;32877:4;32848;32825:17;;;;-1:-1;;32821:33;32867:15;;32695:192;32896:121;33005:4;32993:17;;32974:43;33026:107;33116:12;;33100:33;33564:178;33682:19;;;33731:4;33722:14;;33675:67;34247:105;;34316:31;34341:5;34316:31;;34479:92;34552:13;34545:21;;34528:43;34578:152;-1:-1;;;;;;34647:78;;34630:100;34823:128;-1:-1;;;;;34892:54;;34875:76;35044:88;35122:4;35111:16;;35094:38;35816:129;;35903:37;35934:5;35903:37;;35952:123;;36039:31;36064:5;36039:31;;36212:121;;36291:37;36322:5;36291:37;;36463:268;36528:1;36535:101;36549:6;36546:1;36543:13;36535:101;;;36616:11;;;36610:18;36597:11;;;36590:39;36571:2;36564:10;36535:101;;;36651:6;36648:1;36645:13;36642:2;;;-1:-1;;36716:1;36698:16;;36691:27;36512:219;36739:95;;36803:26;36823:5;36922:89;36986:20;37000:5;36986:20;;37099:97;37187:2;37167:14;-1:-1;;37163:28;;37147:49;37205:81;37270:2;37266:14;;37247:39",
|
|
795
795
|
"source": "// (c) Kallol Borah, 2020\r\n// Implementation of the Verified zero coupon bond.\r\n// SPDX-License-Identifier: MIT\r\n\r\npragma solidity 0.5.7;\r\npragma experimental ABIEncoderV2;\r\n\r\nimport \"./erc/ERC20.sol\";\r\nimport \"./interfaces/ViaOracle.sol\";\r\nimport \"@openzeppelin/upgrades/contracts/Initializable.sol\";\r\nimport \"@openzeppelin/contracts-ethereum-package/contracts/ownership/Ownable.sol\";\r\nimport \"./interfaces/ViaFactory.sol\";\r\nimport \"./interfaces/ViaCash.sol\";\r\nimport \"./interfaces/ViaBond.sol\";\r\nimport \"./interfaces/ViaToken.sol\";\r\nimport \"./utilities/StringUtils.sol\";\r\nimport \"./utilities/PaymentUtils.sol\";\r\nimport \"./utilities/Pausable.sol\";\r\nimport \"./utilities/BokkyPooBahsDateTimeLibrary.sol\";\r\nimport \"./interfaces/VerifiedClient.sol\";\r\nimport \"./interfaces/VerifiedRates.sol\";\r\n\r\ncontract Bond is ViaBond, ERC20, Initializable, Ownable, Pausable {\r\n\r\n using stringutils for *;\r\n using paymentutils for *;\r\n using BokkyPooBahsDateTimeLibrary for uint;\r\n\r\n //token factory address\r\n ViaFactory private factory;\r\n\r\n VerifiedRates private rates;\r\n\r\n //oracle\r\n ViaOracle private oracle;\r\n\r\n //name of Via token (eg, Via-USD)\r\n string public name;\r\n string public symbol;\r\n bytes32 public bondName;\r\n \r\n //token address\r\n address private token;\r\n\r\n //mapping issuer (address) to address of bond token (address) which acts as identifier for bonds on offer\r\n mapping(address => mapping (address => ViaBond.bond)) public issues;\r\n\r\n //mapping purchaser (address) to address of bond token (address) which acts as identifier for bonds subscribed\r\n mapping(address => mapping (address => ViaBond.bond)) public purchases;\r\n\r\n //array of issues of this bond, where bond IDs are their addresses of their token issues\r\n address[] public bondsIssued;\r\n\r\n //data structure holding details of currency conversion requests pending on oraclize\r\n struct conversion{ \r\n bytes32 operation;\r\n bytes32 paid_in_currency;\r\n bytes16 amount;\r\n bytes16 EthXvalue;\r\n bytes16 ViaXvalue;\r\n bytes16 ViaRateValue;\r\n address tokenc;\r\n address party;\r\n }\r\n\r\n //queue of pending conversion requests with each pending request mapped to a request_id returned by oraclize\r\n mapping(bytes32 => conversion) private conversionQ;\r\n\r\n //events to capture and report to Via oracle\r\n event BondIssued(address indexed party, address token, bytes32 bondName, uint256 amount, bytes32 currency, uint256 collateralAmount, uint256 issueTime);\r\n event BondRedeemed(address indexed party, address token, uint256 tokenAmount, bytes32 tokenName, uint256 amount, bytes32 currency);\r\n event BondPurchased(address indexed party, address token, bytes32 bondName, uint256 amount, bytes32 currency, uint256 paidInAmount, uint256 purchaseTime);\r\n event BondLiquidated(address indexed party, address token, uint256 tokenAmount, bytes32 tokenName, uint256 amount, bytes32 currency);\r\n\r\n //mutex\r\n bool lock;\r\n\r\n //default term of bond (in seconds)\r\n uint term = 60;\r\n\r\n //initiliaze proxies\r\n function initialize(bytes32 _name, bytes32 _currency, address _owner, address _oracle, address _token, address _fee) public initializer {\r\n Ownable.initialize(_owner);\r\n factory = ViaFactory(msg.sender);\r\n oracle = ViaOracle(_oracle);\r\n name = string(abi.encodePacked(_name));\r\n symbol = _name.substring(0,5);\r\n bondName = _currency;\r\n token = _token;\r\n rates = VerifiedRates(_fee);\r\n lock = false;\r\n }\r\n\r\n //handling pay in of ether for issue of bond tokens\r\n function() external payable{\r\n //ether paid in\r\n require(msg.value !=0);\r\n //only to pay in ether\r\n require(msg.data.length==0);\r\n // contract must not be paused\r\n require(paused == false);\r\n //check aml status\r\n require(amlCheck(msg.sender)==true); \r\n //issue bond tokens\r\n issue(ABDKMathQuad.fromUInt(msg.value), msg.sender, \"ether\", address(this));\r\n }\r\n\r\n function transferForward(address sender, address receiver, uint256 tokens, address forwarder) external returns (bool){\r\n // contract must not be paused\r\n require(paused == false);\r\n //check aml status\r\n require(amlCheck(sender)==true);\r\n require(amlCheck(receiver)==true);\r\n //check if tokens are being transferred to this bond contract\r\n if(receiver != address(this) && receiver == forwarder){\r\n //if token name is the same, this transfer has to be redeemed\r\n if(redeem(ABDKMathQuad.fromUInt(tokens), sender, bondName, \"TokenTransfer\", forwarder))\r\n return true;\r\n else\r\n return false;\r\n }\r\n else {\r\n //bond tokens are being sent to a user account\r\n //sender is transferring its full purchase amount of bonds\r\n //transfer of bond token to another user has to be of the exact amount purchased earlier by sender\r\n if(ABDKMathQuad.toUInt(purchases[sender][forwarder].purchasedIssueAmount)==tokens){\r\n if(transferBondToken(forwarder, sender, receiver, tokens))\r\n return true;\r\n else\r\n return false; \r\n }\r\n return false;\r\n }\r\n }\r\n\r\n function transferBondToken(address issuedBond, address sender, address receiver, uint tokens) private returns (bool){\r\n if(transferBond(sender, receiver, tokens)){\r\n if(ViaToken(issuedBond).transferToken(sender, receiver, tokens)){\r\n purchases[receiver][issuedBond] = purchases[sender][issuedBond];\r\n delete purchases[sender][issuedBond];\r\n return true;\r\n }\r\n else\r\n return false;\r\n }\r\n else\r\n return false;\r\n }\r\n\r\n function transferBond(address sender, address receiver, uint256 tokens) private returns (bool){\r\n //owner should have more tokens than being transferred\r\n if(ABDKMathQuad.cmp(ABDKMathQuad.fromUInt(tokens), balances[sender])==-1 || ABDKMathQuad.cmp(ABDKMathQuad.fromUInt(tokens), balances[sender])==0){\r\n //sending contract should be allowed by token owner to make this transfer\r\n balances[sender] = ABDKMathQuad.sub(balances[sender], ABDKMathQuad.fromUInt(tokens));\r\n balances[receiver] = ABDKMathQuad.add(balances[receiver], ABDKMathQuad.fromUInt(tokens));\r\n //emit BondTransfer(sender, receiver, tokens);\r\n return true;\r\n }\r\n return false;\r\n } \r\n \r\n function requestIssue(bytes16 amount, address payer, bytes32 currency, address cashContract) external returns(bool){\r\n // contract must not be paused\r\n require(paused == false);\r\n //bonds denominated in a currency can not be collateralized with that currency itself\r\n require(bondName!=currency);\r\n //check aml status\r\n require(amlCheck(payer)==true);\r\n require(factory.getType(msg.sender) == \"ViaCash\");\r\n return(issue(amount, payer, currency, cashContract));\r\n }\r\n\r\n //requesting issue of bond tokens to payer (issuer) that can pay in ether, or in cash tokens\r\n function issue(bytes16 amount, address payer, bytes32 currency, address cashContract) private returns(bool){\r\n //ensure that brought amount is not zero\r\n require(amount != 0);\r\n //pay issuing fee\r\n amount = payIssuingFee(amount);\r\n //adds paid in amount to the paid in currency's cash balance\r\n if(currency!=\"ether\"){\r\n //non ether currency (or cash tokens) can be paid in to issue bonds\r\n if(factory.getType(cashContract)==\"ViaCash\"){\r\n if(!ViaCash(cashContract).requestAddToBalance(amount, payer)){\r\n return false;\r\n }\r\n }\r\n else{\r\n return false;\r\n }\r\n }\r\n //call Oracle to fetch data for bond pricing\r\n if(currency==\"ether\"){\r\n //if ether is paid into a non Via-USD bond contract, the bond contract will issue bond tokens of an equivalent face value.\r\n //To derive the bond's face value, the exchange rate of ether to Via-USD and then to the currency paid in is applied.\r\n if(bondName!=\"VXUSD\"){\r\n bytes32 EthXid = oracle.request(\"eth\",\"ethusd\",\"EthBond\", address(this));\r\n bytes32 ViaXid = oracle.request(abi.encodePacked(\"VXUSD_to_\", bondName),\"ver\",\"Bond\", address(this));\r\n oracle.setCallbackId(EthXid,ViaXid);\r\n //bytes32 EthXid = \"11\";\r\n //bytes32 ViaXid = \"22\";\r\n conversion storage c = conversionQ[ViaXid];\r\n c.operation = \"issue\";\r\n c.party = payer;\r\n c.amount = amount;\r\n c.paid_in_currency = currency;\r\n c.EthXvalue = ABDKMathQuad.fromUInt(0);\r\n c.ViaXvalue =ABDKMathQuad.fromUInt(0);\r\n //convert(\"22\",ABDKMathQuad.fromUInt(\"1.20000\".stringToUint()),\"ver\");\r\n //convert(\"22\",ABDKMathQuad.fromUInt(\"451.25\".stringToUint()),\"ethusd\");\r\n }\r\n //if ether is paid into a Via-USD bond contract, issuing the bond token will only require the ether to Via-USD exchange rate. \r\n else if(bondName==\"VXUSD\"){\r\n bytes32 EthXid = oracle.request(\"eth\",\"ethusd\",\"EthBond\", address(this));\r\n //bytes32 EthXid = \"11\";\r\n conversion storage c = conversionQ[EthXid];\r\n c.operation = \"issue\";\r\n c.party = payer;\r\n c.amount = amount;\r\n c.paid_in_currency = currency;\r\n c.EthXvalue = ABDKMathQuad.fromUInt(0);\r\n c.ViaXvalue =ABDKMathQuad.fromUInt(1);\r\n //convert(\"11\",ABDKMathQuad.fromUInt(\"350.25\".stringToUint()),\"ethusd\");\r\n }\r\n }\r\n //if a cash token is paid into this bond contract\r\n else{\r\n //if the cash token paid in to a bond token is different from the denomination of this bond, \r\n //tokens of this bond need to be issued from the issuers' account after pricing the bond with applicable coupon rates\r\n bytes32 ViaXid = oracle.request(abi.encodePacked(currency.substring(0,5),\"_to_\",bondName),\"ver\",\"Bond\", address(this));\r\n //bytes32 ViaXid = \"22\";\r\n conversion storage c = conversionQ[ViaXid];\r\n c.operation = \"issue\";\r\n c.party = payer;\r\n c.amount = amount;\r\n c.paid_in_currency = currency;\r\n c.EthXvalue = ABDKMathQuad.fromUInt(1);\r\n c.ViaXvalue =ABDKMathQuad.fromUInt(0);\r\n //convert(\"22\",ABDKMathQuad.fromUInt(\"1.20000\".stringToUint()),\"ver\");\r\n }\r\n return true;\r\n }\r\n\r\n function requestPurchase(bytes16 amount, address payer, bytes32 currency, address cashContract) external returns(bool){\r\n // contract must not be paused\r\n require(paused == false);\r\n //check aml status\r\n require(amlCheck(payer)==true);\r\n require(factory.getType(msg.sender) == \"ViaBondToken\");\r\n require(factory.getType(cashContract)==\"ViaCash\");\r\n return(purchase(amount, payer, currency, cashContract, msg.sender));\r\n }\r\n\r\n //requesting purchase of bond tokens to payer (buyer) that can pay in cash tokens\r\n function purchase(bytes16 amount, address payer, bytes32 currency, address cashContract, address tokenContract) private returns(bool){\r\n //ensure that brought amount is not zero\r\n require(amount != 0);\r\n //adds paid in amount to the paid in currency's cash balance\r\n if(!ViaCash(cashContract).requestAddToBalance(amount, payer)){\r\n return false;\r\n }\r\n //if the cash token paid in to a bond token is different from the denomination of this bond, \r\n //tokens of this bond need to be transferred from an issuers' account after pricing the bond with applicable coupon rates\r\n if(currency!=bondName){\r\n //amount = fee.payTradingFee(amount, cashContract);\r\n bytes32 ViaXid = oracle.request(abi.encodePacked(currency.substring(0,5), \"_to_\", bondName),\"er\",\"Bond\", address(this)); \r\n bytes32 ViaRateId = oracle.request(abi.encodePacked(currency.substring(0,5), \"_to_\", bondName), \"ir\",\"Bond\",address(this));\r\n oracle.setCallbackId(ViaXid, ViaRateId);\r\n //bytes32 ViaXid = \"33\";\r\n //bytes32 ViaRateId = \"44\";\r\n conversion storage c = conversionQ[ViaRateId];\r\n c.operation = \"purchase\";\r\n c.tokenc = tokenContract;\r\n c.party = payer;\r\n c.amount = amount;\r\n c.paid_in_currency = currency;\r\n c.ViaXvalue =ABDKMathQuad.fromUInt(0);\r\n c.ViaRateValue = ABDKMathQuad.fromUInt(10000);\r\n //convert(\"33\",ABDKMathQuad.fromUInt(\"1.20000\".stringToUint()),\"er\");\r\n //convert(\"33\",ABDKMathQuad.fromUInt(\"1.50000\".stringToUint()),\"ir\");\r\n }\r\n else {\r\n //if the cash token paid in is the same denomination of this bond, then\r\n //tokens of this bond need to be transferred from an issuer's account after pricing the bond with the domestic (paid in currency) coupon rates\r\n //amount = fee.payTradingFee(amount, cashContract);\r\n bytes32 ViaRateId = oracle.request(abi.encodePacked(currency.substring(0,5)), \"ir\",\"Bond\",address(this));\r\n //bytes32 ViaRateId = \"44\";\r\n conversion storage c = conversionQ[ViaRateId];\r\n c.operation = \"purchase\";\r\n c.tokenc = tokenContract;\r\n c.party = payer;\r\n c.amount = amount;\r\n c.paid_in_currency = currency;\r\n c.ViaXvalue =ABDKMathQuad.fromUInt(1);\r\n c.ViaRateValue = ABDKMathQuad.fromUInt(10000);\r\n //convert(\"44\",ABDKMathQuad.fromUInt(\"1.50000\".stringToUint()),\"ir\");\r\n }\r\n return true;\r\n }\r\n\r\n function requestRedemption(bytes16 amount, address payer, bytes32 currency, address tokenContract) external returns(bool){\r\n // contract must not be paused\r\n require(paused == false);\r\n //check aml status\r\n require(amlCheck(payer)==true);\r\n require(factory.getType(msg.sender) == \"ViaBondToken\");\r\n //if the paying in is for repayment of a bond already issued, then\r\n //transfer the paid in amount to the bond holders, release the collateral back to the issuer and extinguish the bond\r\n if(!redeem(amount, payer, currency, \"CashTransfer\", tokenContract))\r\n return false;\r\n else\r\n return true;\r\n }\r\n \r\n //requesting redemption of Via bonds and transfer of ether or cash collateral to issuer \r\n function redeem(bytes16 amount, address payer, bytes32 tokenName, bytes32 action, address tokenContract) private returns(bool){\r\n //if Via bond holder redeems bond on day of expiry, issuer collateral is transferred to bond holder\r\n if(action==\"TokenTransfer\"){\r\n bool status = false;\r\n //find if the bond was issued to payer (purchaser) earlier\r\n if(ABDKMathQuad.toUInt(purchases[payer][tokenContract].purchasedIssueAmount)==ABDKMathQuad.toUInt(amount)){\r\n //check if redemption term is over\r\n if(now >= BokkyPooBahsDateTimeLibrary.addSeconds(purchases[payer][tokenContract].timeIssuedOrSubscribed, term)){\r\n bytes16 redemptionAmount = ABDKMathQuad.mul(ABDKMathQuad.div(amount, issues[purchases[payer][tokenContract].counterParties[0]][tokenContract].parValue), \r\n issues[purchases[payer][tokenContract].counterParties[0]][tokenContract].paidInAmount);\r\n require(!lock);\r\n lock = true;\r\n if(ABDKMathQuad.cmp(redemptionAmount, ABDKMathQuad.fromUInt(0))==1){\r\n bytes32 paidInCurrency = issues[purchases[payer][tokenContract].counterParties[0]][tokenContract].paidInCurrency;\r\n address viaAddress = factory.getIssuer(\"ViaCash\", paidInCurrency);\r\n //transfer ether collateral from issuer to purchaser (redeemer) of bond\r\n if(paidInCurrency==\"ether\")\r\n sendEther(payer, redemptionAmount);\r\n else\r\n sendCash(viaAddress, redemptionAmount, payer);\r\n //adjust total supply of this bond\r\n ViaToken(tokenContract).reduceSupply(amount);\r\n totalSupply_ = ABDKMathQuad.sub(totalSupply_, amount);\r\n //reduce payer's balance of bond held\r\n ViaToken(tokenContract).reduceBalance(payer, amount);\r\n balances[payer] = ABDKMathQuad.sub(balances[payer], amount);\r\n //generate event\r\n emit BondLiquidated(payer, tokenContract, ABDKMathQuad.toUInt(amount), tokenName, ABDKMathQuad.toUInt(redemptionAmount), paidInCurrency);\r\n //remove payer (purchaser) from counter party list of issuer \r\n address issuer = purchases[payer][tokenContract].counterParties[0]; \r\n for(uint p=0; p<issues[issuer][tokenContract].counterParties.length; p++){\r\n if(issues[issuer][tokenContract].counterParties[p]==payer){\r\n delete(issues[issuer][tokenContract].counterParties[p]);\r\n //reduce issuer's par value by amount redeemed\r\n issues[issuer][tokenContract].parValue = ABDKMathQuad.sub(issues[issuer][tokenContract].parValue, ABDKMathQuad.mul(ABDKMathQuad.div(\r\n issues[issuer][tokenContract].parValue, issues[issuer][tokenContract].purchasedIssueAmount), amount));\r\n } \r\n }\r\n //remove payer (purchaser) record from list of purchasers\r\n delete(purchases[payer][tokenContract]);\r\n }\r\n lock = false;\r\n status = true;\r\n }\r\n }\r\n //find if the bond was issued to payer (issuer) earlier and the issuer is returning unsold bond tokens\r\n else if(ABDKMathQuad.cmp(ABDKMathQuad.sub(issues[payer][tokenContract].parValue, issues[payer][tokenContract].purchasedIssueAmount), amount)==0){\r\n require(!lock);\r\n lock = true;\r\n bytes32 paidInCurrency = issues[payer][tokenContract].paidInCurrency;\r\n //calculate redemption amount based on how much collateral is not encumbered\r\n bytes16 uncumberedAmount = ABDKMathQuad.mul(ABDKMathQuad.div(amount, issues[payer][tokenContract].parValue), issues[payer][tokenContract].paidInAmount);\r\n //transfer uncumbered ether from issuer to issuer (redeemer) of bond\r\n if(paidInCurrency==\"ether\")\r\n sendEther(payer, uncumberedAmount);\r\n else{\r\n address viaAddress = factory.getIssuer(\"ViaCash\", paidInCurrency);\r\n sendCash(viaAddress, uncumberedAmount, payer);\r\n }\r\n //reduce issuer's par value by amount redeemed\r\n issues[payer][tokenContract].parValue = ABDKMathQuad.sub(issues[payer][tokenContract].parValue, ABDKMathQuad.mul(ABDKMathQuad.div(\r\n issues[payer][tokenContract].parValue, issues[payer][tokenContract].purchasedIssueAmount), amount));\r\n //adjust total supply of this bond\r\n ViaToken(tokenContract).reduceSupply(amount);\r\n totalSupply_ = ABDKMathQuad.sub(totalSupply_, amount);\r\n //reduce payer's balance of bond held\r\n ViaToken(tokenContract).reduceBalance(payer, amount);\r\n balances[payer] = ABDKMathQuad.sub(balances[payer], amount);\r\n //generate event\r\n emit BondRedeemed(payer, tokenContract, ABDKMathQuad.toUInt(amount), tokenName, ABDKMathQuad.toUInt(uncumberedAmount), paidInCurrency);\r\n if(ABDKMathQuad.cmp(issues[payer][tokenContract].parValue, amount)==0){\r\n //if bond is redeemed in full by issuer, then remove issue from list of issues\r\n delete(issues[payer][tokenContract]);\r\n }\r\n lock = false; \r\n status = true;\r\n }\r\n return status;\r\n }\r\n //if Via bond issuer pays in cash for redemption, it is paid back to Via bond holders and collateral paid back to issuers\r\n else if(action==\"CashTransfer\"){\r\n address viaAddress;\r\n bool status = false;\r\n bytes16 totalToRedeem;\r\n if(now >= BokkyPooBahsDateTimeLibrary.addSeconds(issues[payer][tokenContract].timeIssuedOrSubscribed, term)){\r\n viaAddress = factory.getIssuer(\"ViaCash\", tokenName);\r\n //find the bond that was issued by payer (issuer) earlier\r\n if(ABDKMathQuad.toUInt(amount) == ABDKMathQuad.toUInt(issues[payer][tokenContract].parValue)){\r\n uint p = 0;\r\n for(p=0; p<issues[payer][tokenContract].counterParties.length; p++){\r\n address purchaser = issues[payer][tokenContract].counterParties[p];\r\n //release collateral and transfer ether to issuer of bond\r\n //and send paid in amount to purchaser of bond\r\n //calculate redemption amount\r\n bytes16 proportionPurchased = ABDKMathQuad.div(purchases[purchaser][tokenContract].purchasedIssueAmount, issues[payer][tokenContract].parValue);\r\n bytes16 redemptionAmount = ABDKMathQuad.mul(proportionPurchased, issues[payer][tokenContract].parValue);\r\n require(!lock);\r\n lock = true;\r\n //send paid in amount to bond purchaser\r\n if(viaAddress!=address(0x0) && ABDKMathQuad.cmp(redemptionAmount, ABDKMathQuad.fromUInt(0))==1){\r\n sendCash(viaAddress, redemptionAmount, purchaser);\r\n //add redeemed amount to total\r\n totalToRedeem = ABDKMathQuad.add(totalToRedeem, redemptionAmount);\r\n //adjust total supply of this bond\r\n ViaToken(tokenContract).reduceSupply(redemptionAmount);\r\n totalSupply_ = ABDKMathQuad.sub(totalSupply_, redemptionAmount); \r\n //reduce counter party's balance of bond held\r\n ViaToken(tokenContract).reduceBalance(purchaser, redemptionAmount);\r\n balances[purchaser] = ABDKMathQuad.sub(balances[purchaser], redemptionAmount);\r\n status = true;\r\n }\r\n lock = false;\r\n if(status)\r\n //if a purchaser is redeemed, then delete its record from list of purchases\r\n delete(purchases[purchaser][tokenContract]); \r\n }\r\n if(status){\r\n //find proportion to redeem\r\n bytes16 proportionToRedeem = ABDKMathQuad.div(totalToRedeem, issues[payer][tokenContract].purchasedIssueAmount);\r\n //returned redeemed proportion of collateral to payer (issuer)\r\n bytes16 amountToRedeem = ABDKMathQuad.mul(issues[payer][tokenContract].paidInAmount, proportionToRedeem);\r\n bytes32 paidInCurrency = issues[payer][tokenContract].paidInCurrency;\r\n if(paidInCurrency==\"ether\")\r\n //send redeemed ether to payer\r\n sendEther(payer, amountToRedeem);\r\n else\r\n sendCash(viaAddress, amountToRedeem, payer);\r\n if(p==issues[payer][tokenContract].counterParties.length-1)\r\n //if all bond purchasers are redeemed, then delete the issuer record\r\n delete(issues[payer][tokenContract]);\r\n uint256 _amount = ABDKMathQuad.toUInt(amount);\r\n emit BondRedeemed(payer, tokenContract, _amount, tokenName, ABDKMathQuad.toUInt(amountToRedeem), paidInCurrency);\r\n }\r\n }\r\n }\r\n return status;\r\n }\r\n }\r\n\r\n //function called back from Oraclize\r\n function convert(bytes32 txId, bytes16 result, bytes32 rtype) external {\r\n require(oracle == ViaOracle(msg.sender));\r\n //check type of result returned\r\n if(rtype ==\"ethusd\"){\r\n conversionQ[txId].EthXvalue = result;\r\n }\r\n if(rtype == \"ir\"){\r\n conversionQ[txId].ViaRateValue = result;\r\n }\r\n if(rtype == \"er\"){\r\n conversionQ[txId].ViaXvalue = result;\r\n }\r\n if(rtype == \"ver\"){\r\n conversionQ[txId].ViaXvalue = result;\r\n }\r\n //check if bond needs to be issued\r\n if(conversionQ[txId].operation==\"issue\"){\r\n if(rtype == \"ethusd\" || rtype == \"ver\"){\r\n if(ABDKMathQuad.cmp(conversionQ[txId].EthXvalue, ABDKMathQuad.fromUInt(0))!=0 &&\r\n ABDKMathQuad.cmp(conversionQ[txId].ViaXvalue, ABDKMathQuad.fromUInt(0))!=0){\r\n //calculate par value of bond by applying exchange rates from oracle \r\n bytes16 parValue = paymentutils.convertToVia(bondName, conversionQ[txId].amount, conversionQ[txId].paid_in_currency,conversionQ[txId].EthXvalue,conversionQ[txId].ViaXvalue);\r\n //issue bond to issuer\r\n finallyIssue(conversionQ[txId].party, parValue, conversionQ[txId].amount, conversionQ[txId].paid_in_currency);\r\n delete conversionQ[txId];\r\n }\r\n }\r\n }\r\n else if(conversionQ[txId].operation==\"purchase\"){ \r\n if(rtype == \"er\" || rtype ==\"ir\"){\r\n if(ABDKMathQuad.cmp(conversionQ[txId].ViaXvalue, ABDKMathQuad.fromUInt(0))!=0 && \r\n ABDKMathQuad.cmp(conversionQ[txId].ViaRateValue, ABDKMathQuad.fromUInt(0))!=0){\r\n //calculate price of bond by applying interest rates from oracle\r\n bytes16 viaBondPrice = paymentutils.calcBondPrice(bondName, conversionQ[txId].amount, conversionQ[txId].paid_in_currency,conversionQ[txId].ViaXvalue,conversionQ[txId].ViaRateValue);\r\n //transfer bond from issuer to purchaser, and transfer paid in cash token from purchaser to issuer\r\n finallyPurchase(conversionQ[txId].party, viaBondPrice, conversionQ[txId].amount, conversionQ[txId].paid_in_currency, conversionQ[txId].tokenc);\r\n delete conversionQ[txId];\r\n }\r\n }\r\n }\r\n }\r\n\r\n //issue bond tokens if ether is paid in, or transfer bond tokens if cash tokens are paid in\r\n function finallyIssue(address payer, bytes16 parValue, bytes16 paidInAmount, bytes32 paidCurrency) private {\r\n //issue bond tokens with paid in ether\r\n uint256 issueTime = now;\r\n //issue bond which initializes a token with the attributes of the bond\r\n address issuedBond = factory.createToken(token, payer, bondName, keccak256(abi.encodePacked(payer,issueTime)));\r\n //initialize bond token\r\n ViaToken vt = ViaToken(issuedBond);\r\n vt.addBalance(payer, parValue);\r\n vt.addTotalSupply(parValue);\r\n totalSupply_ = ABDKMathQuad.add(totalSupply_, parValue);\r\n //add issued bond balance\r\n balances[payer] = ABDKMathQuad.add(balances[payer], parValue);\r\n //keep track of issues\r\n bondsIssued.push(issuedBond);\r\n storeIssuedBond(payer, parValue, paidInAmount, paidCurrency, issueTime, issuedBond);\r\n //generate event\r\n emit BondIssued(payer, issuedBond, bondName, ABDKMathQuad.toUInt(parValue), paidCurrency, ABDKMathQuad.toUInt(paidInAmount), issueTime);\r\n }\r\n\r\n function finallyPurchase(address payer, bytes16 purchaseValue, bytes16 paidInAmount, bytes32 paidInCashToken, address tokenContract) private {\r\n //paid in amount is Via cash with which bond tokens are purchased\r\n ViaToken vt = ViaToken(tokenContract);\r\n address issuer = vt.getIssuer();\r\n require(!lock);\r\n lock = true;\r\n //transfer cash paid in by purchaser to issuer from whom bond is transferred to purchaser\r\n address viaAddress = factory.getIssuer(\"ViaCash\", paidInCashToken);\r\n if(viaAddress!=address(0x0)){\r\n //if there is enough issued bonds, transfer bond from issuer to payer\r\n if(ViaToken(tokenContract).transferToken(issuer, payer, ABDKMathQuad.toUInt(purchaseValue))){ \r\n transferBond(issuer, payer, ABDKMathQuad.toUInt(purchaseValue));\r\n //deduct paid out cash token from purchaser cash balance which was added to cash contract's balance and transfer to issuer\r\n sendCash(viaAddress, paidInAmount, issuer);\r\n //add purchaser as counter party in issuer's record\r\n bond storage b = issues[issuer][tokenContract];\r\n b.counterParties.push(payer);\r\n //add to issued value of bond for amount transferred by purchaser\r\n issues[issuer][tokenContract].purchasedIssueAmount = ABDKMathQuad.add(issues[issuer][tokenContract].purchasedIssueAmount, purchaseValue); \r\n //add bond to purchaser's record\r\n uint256 purchaseTime = now;\r\n storePurchasedBond(payer, issuer, purchaseValue, paidInAmount, paidInCashToken, purchaseTime, tokenContract);\r\n //bond purchased event\r\n emit BondPurchased(payer, tokenContract, bondName, ABDKMathQuad.toUInt(purchaseValue), paidInCashToken, ABDKMathQuad.toUInt(paidInAmount), purchaseTime);\r\n }\r\n }\r\n lock = false;\r\n \r\n }\r\n \r\n //stores issued bond details\r\n function storeIssuedBond(address _party, bytes16 _parValue, bytes16 _paidInAmount, bytes32 _paidInCurrency, uint256 _timeIssued, address _issuedBond) private {\r\n bond storage b = issues[_party][_issuedBond];\r\n //b.counterParties.push(_party);\r\n b.parValue = _parValue;\r\n b.paidInAmount = _paidInAmount;\r\n b.paidInCurrency = _paidInCurrency;\r\n b.timeIssuedOrSubscribed = _timeIssued;\r\n }\r\n\r\n //stores purchased bond details\r\n function storePurchasedBond(address _payer, address _party, bytes16 _purchasedIssueAmount, bytes16 _paidInAmount, bytes32 _paidInCashToken, uint256 _timeSubscribed, address _issuedBond) private {\r\n bond storage b = purchases[_payer][_issuedBond];\r\n b.counterParties.push(_party);\r\n b.purchasedIssueAmount = _purchasedIssueAmount;\r\n b.paidInAmount = _paidInAmount;\r\n b.paidInCurrency = _paidInCashToken;\r\n b.timeIssuedOrSubscribed = _timeSubscribed;\r\n }\r\n\r\n function getBonds() external view returns(address[] memory){\r\n return bondsIssued;\r\n }\r\n\r\n function getBondIssues(address issuer, address bondToken) external view returns(uint256, uint256, uint256, bytes32, uint256){\r\n return (ABDKMathQuad.toUInt(issues[issuer][bondToken].parValue),\r\n ABDKMathQuad.toUInt(issues[issuer][bondToken].purchasedIssueAmount),\r\n ABDKMathQuad.toUInt(issues[issuer][bondToken].paidInAmount),\r\n issues[issuer][bondToken].paidInCurrency,\r\n issues[issuer][bondToken].timeIssuedOrSubscribed);\r\n }\r\n\r\n function getBondPurchases(address purchaser, address bondToken) external view returns(uint256, uint256, bytes32, uint256){\r\n return (ABDKMathQuad.toUInt(issues[purchaser][bondToken].purchasedIssueAmount),\r\n ABDKMathQuad.toUInt(issues[purchaser][bondToken].paidInAmount),\r\n issues[purchaser][bondToken].paidInCurrency,\r\n issues[purchaser][bondToken].timeIssuedOrSubscribed);\r\n }\r\n\r\n function sendCash(address viaAddress, bytes16 amountToRedeem, address payee) private {\r\n ViaCash(viaAddress).requestDeductFromBalance(amountToRedeem, payee);\r\n }\r\n\r\n function sendEther(address payee, bytes16 amount) private {\r\n address(uint160(payee)).transfer(ABDKMathQuad.toUInt(amount)); \r\n }\r\n\r\n function payIssuingFee(bytes16 value) private returns (bytes16){\r\n bytes16 fees = ABDKMathQuad.fromUInt(rates.getFee(\"issuing\"));\r\n bytes16 returnValue;\r\n if(ABDKMathQuad.toUInt(fees)!=0){\r\n address feeTo = rates.getFeeToSetter();\r\n if(feeTo!=address(0x0)){\r\n address(uint160(feeTo)).transfer(ABDKMathQuad.toUInt(ABDKMathQuad.mul(fees, value)));\r\n returnValue = ABDKMathQuad.sub(value, ABDKMathQuad.mul(fees, value));\r\n return returnValue;\r\n }\r\n }\r\n return value;\r\n }\r\n\r\n //check AML status for account address\r\n function amlCheck(address account) private view returns(bool){\r\n address client = factory.getClient();\r\n if(client==address(0x0))\r\n return true;\r\n if(VerifiedClient(client).getAMLStatus(account))\r\n return true;\r\n else\r\n return false;\r\n }\r\n \r\n function pause() onlyFactoryOwner(msg.sender, address(factory)) public {\r\n _pause();\r\n }\r\n function unpause() onlyFactoryOwner(msg.sender, address(factory)) public {\r\n _unpause();\r\n }\r\n\r\n modifier onlyFactoryOwner (address _sender, address _factory){\r\n require(_sender == owner() || _sender == _factory);\r\n _;\r\n }\r\n \r\n}",
|
|
@@ -906,7 +906,7 @@
|
|
|
906
906
|
"id": 6002,
|
|
907
907
|
"nodeType": "ImportDirective",
|
|
908
908
|
"scope": 8871,
|
|
909
|
-
"sourceUnit":
|
|
909
|
+
"sourceUnit": 14280,
|
|
910
910
|
"src": "498:35:13",
|
|
911
911
|
"symbolAliases": [],
|
|
912
912
|
"unitAlias": ""
|
|
@@ -917,7 +917,7 @@
|
|
|
917
917
|
"id": 6003,
|
|
918
918
|
"nodeType": "ImportDirective",
|
|
919
919
|
"scope": 8871,
|
|
920
|
-
"sourceUnit":
|
|
920
|
+
"sourceUnit": 16425,
|
|
921
921
|
"src": "535:37:13",
|
|
922
922
|
"symbolAliases": [],
|
|
923
923
|
"unitAlias": ""
|
|
@@ -928,7 +928,7 @@
|
|
|
928
928
|
"id": 6004,
|
|
929
929
|
"nodeType": "ImportDirective",
|
|
930
930
|
"scope": 8871,
|
|
931
|
-
"sourceUnit":
|
|
931
|
+
"sourceUnit": 16101,
|
|
932
932
|
"src": "574:38:13",
|
|
933
933
|
"symbolAliases": [],
|
|
934
934
|
"unitAlias": ""
|
|
@@ -939,7 +939,7 @@
|
|
|
939
939
|
"id": 6005,
|
|
940
940
|
"nodeType": "ImportDirective",
|
|
941
941
|
"scope": 8871,
|
|
942
|
-
"sourceUnit":
|
|
942
|
+
"sourceUnit": 15917,
|
|
943
943
|
"src": "614:34:13",
|
|
944
944
|
"symbolAliases": [],
|
|
945
945
|
"unitAlias": ""
|
|
@@ -950,7 +950,7 @@
|
|
|
950
950
|
"id": 6006,
|
|
951
951
|
"nodeType": "ImportDirective",
|
|
952
952
|
"scope": 8871,
|
|
953
|
-
"sourceUnit":
|
|
953
|
+
"sourceUnit": 15878,
|
|
954
954
|
"src": "650:53:13",
|
|
955
955
|
"symbolAliases": [],
|
|
956
956
|
"unitAlias": ""
|
|
@@ -1058,10 +1058,10 @@
|
|
|
1058
1058
|
"id": 6017,
|
|
1059
1059
|
"name": "Pausable",
|
|
1060
1060
|
"nodeType": "UserDefinedTypeName",
|
|
1061
|
-
"referencedDeclaration":
|
|
1061
|
+
"referencedDeclaration": 15916,
|
|
1062
1062
|
"src": "849:8:13",
|
|
1063
1063
|
"typeDescriptions": {
|
|
1064
|
-
"typeIdentifier": "t_contract$_Pausable_$
|
|
1064
|
+
"typeIdentifier": "t_contract$_Pausable_$15916",
|
|
1065
1065
|
"typeString": "contract Pausable"
|
|
1066
1066
|
}
|
|
1067
1067
|
},
|
|
@@ -1076,7 +1076,7 @@
|
|
|
1076
1076
|
222,
|
|
1077
1077
|
13665,
|
|
1078
1078
|
13956,
|
|
1079
|
-
|
|
1079
|
+
15916
|
|
1080
1080
|
],
|
|
1081
1081
|
"contractKind": "contract",
|
|
1082
1082
|
"documentation": null,
|
|
@@ -1084,7 +1084,7 @@
|
|
|
1084
1084
|
"id": 8870,
|
|
1085
1085
|
"linearizedBaseContracts": [
|
|
1086
1086
|
8870,
|
|
1087
|
-
|
|
1087
|
+
15916,
|
|
1088
1088
|
153,
|
|
1089
1089
|
29,
|
|
1090
1090
|
222,
|
|
@@ -1101,10 +1101,10 @@
|
|
|
1101
1101
|
"id": 6019,
|
|
1102
1102
|
"name": "stringutils",
|
|
1103
1103
|
"nodeType": "UserDefinedTypeName",
|
|
1104
|
-
"referencedDeclaration":
|
|
1104
|
+
"referencedDeclaration": 16424,
|
|
1105
1105
|
"src": "873:11:13",
|
|
1106
1106
|
"typeDescriptions": {
|
|
1107
|
-
"typeIdentifier": "t_contract$_stringutils_$
|
|
1107
|
+
"typeIdentifier": "t_contract$_stringutils_$16424",
|
|
1108
1108
|
"typeString": "library stringutils"
|
|
1109
1109
|
}
|
|
1110
1110
|
},
|
|
@@ -1119,10 +1119,10 @@
|
|
|
1119
1119
|
"id": 6021,
|
|
1120
1120
|
"name": "paymentutils",
|
|
1121
1121
|
"nodeType": "UserDefinedTypeName",
|
|
1122
|
-
"referencedDeclaration":
|
|
1122
|
+
"referencedDeclaration": 16100,
|
|
1123
1123
|
"src": "903:12:13",
|
|
1124
1124
|
"typeDescriptions": {
|
|
1125
|
-
"typeIdentifier": "t_contract$_paymentutils_$
|
|
1125
|
+
"typeIdentifier": "t_contract$_paymentutils_$16100",
|
|
1126
1126
|
"typeString": "library paymentutils"
|
|
1127
1127
|
}
|
|
1128
1128
|
},
|
|
@@ -1137,10 +1137,10 @@
|
|
|
1137
1137
|
"id": 6023,
|
|
1138
1138
|
"name": "BokkyPooBahsDateTimeLibrary",
|
|
1139
1139
|
"nodeType": "UserDefinedTypeName",
|
|
1140
|
-
"referencedDeclaration":
|
|
1140
|
+
"referencedDeclaration": 15877,
|
|
1141
1141
|
"src": "934:27:13",
|
|
1142
1142
|
"typeDescriptions": {
|
|
1143
|
-
"typeIdentifier": "t_contract$_BokkyPooBahsDateTimeLibrary_$
|
|
1143
|
+
"typeIdentifier": "t_contract$_BokkyPooBahsDateTimeLibrary_$15877",
|
|
1144
1144
|
"typeString": "library BokkyPooBahsDateTimeLibrary"
|
|
1145
1145
|
}
|
|
1146
1146
|
},
|
|
@@ -2732,7 +2732,7 @@
|
|
|
2732
2732
|
"name": "msg",
|
|
2733
2733
|
"nodeType": "Identifier",
|
|
2734
2734
|
"overloadedDeclarations": [],
|
|
2735
|
-
"referencedDeclaration":
|
|
2735
|
+
"referencedDeclaration": 16439,
|
|
2736
2736
|
"src": "3317:3:13",
|
|
2737
2737
|
"typeDescriptions": {
|
|
2738
2738
|
"typeIdentifier": "t_magic_message",
|
|
@@ -2934,7 +2934,7 @@
|
|
|
2934
2934
|
"name": "abi",
|
|
2935
2935
|
"nodeType": "Identifier",
|
|
2936
2936
|
"overloadedDeclarations": [],
|
|
2937
|
-
"referencedDeclaration":
|
|
2937
|
+
"referencedDeclaration": 16426,
|
|
2938
2938
|
"src": "3391:3:13",
|
|
2939
2939
|
"typeDescriptions": {
|
|
2940
2940
|
"typeIdentifier": "t_magic_abi",
|
|
@@ -3108,7 +3108,7 @@
|
|
|
3108
3108
|
"lValueRequested": false,
|
|
3109
3109
|
"memberName": "substring",
|
|
3110
3110
|
"nodeType": "MemberAccess",
|
|
3111
|
-
"referencedDeclaration":
|
|
3111
|
+
"referencedDeclaration": 16247,
|
|
3112
3112
|
"src": "3435:15:13",
|
|
3113
3113
|
"typeDescriptions": {
|
|
3114
3114
|
"typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_bytes32_$",
|
|
@@ -3601,7 +3601,7 @@
|
|
|
3601
3601
|
"name": "msg",
|
|
3602
3602
|
"nodeType": "Identifier",
|
|
3603
3603
|
"overloadedDeclarations": [],
|
|
3604
|
-
"referencedDeclaration":
|
|
3604
|
+
"referencedDeclaration": 16439,
|
|
3605
3605
|
"src": "3716:3:13",
|
|
3606
3606
|
"typeDescriptions": {
|
|
3607
3607
|
"typeIdentifier": "t_magic_message",
|
|
@@ -3660,10 +3660,10 @@
|
|
|
3660
3660
|
"name": "require",
|
|
3661
3661
|
"nodeType": "Identifier",
|
|
3662
3662
|
"overloadedDeclarations": [
|
|
3663
|
-
|
|
3664
|
-
|
|
3663
|
+
16442,
|
|
3664
|
+
16443
|
|
3665
3665
|
],
|
|
3666
|
-
"referencedDeclaration":
|
|
3666
|
+
"referencedDeclaration": 16442,
|
|
3667
3667
|
"src": "3708:7:13",
|
|
3668
3668
|
"typeDescriptions": {
|
|
3669
3669
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -3713,7 +3713,7 @@
|
|
|
3713
3713
|
"name": "msg",
|
|
3714
3714
|
"nodeType": "Identifier",
|
|
3715
3715
|
"overloadedDeclarations": [],
|
|
3716
|
-
"referencedDeclaration":
|
|
3716
|
+
"referencedDeclaration": 16439,
|
|
3717
3717
|
"src": "3781:3:13",
|
|
3718
3718
|
"typeDescriptions": {
|
|
3719
3719
|
"typeIdentifier": "t_magic_message",
|
|
@@ -3786,10 +3786,10 @@
|
|
|
3786
3786
|
"name": "require",
|
|
3787
3787
|
"nodeType": "Identifier",
|
|
3788
3788
|
"overloadedDeclarations": [
|
|
3789
|
-
|
|
3790
|
-
|
|
3789
|
+
16442,
|
|
3790
|
+
16443
|
|
3791
3791
|
],
|
|
3792
|
-
"referencedDeclaration":
|
|
3792
|
+
"referencedDeclaration": 16442,
|
|
3793
3793
|
"src": "3773:7:13",
|
|
3794
3794
|
"typeDescriptions": {
|
|
3795
3795
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -3835,7 +3835,7 @@
|
|
|
3835
3835
|
"name": "paused",
|
|
3836
3836
|
"nodeType": "Identifier",
|
|
3837
3837
|
"overloadedDeclarations": [],
|
|
3838
|
-
"referencedDeclaration":
|
|
3838
|
+
"referencedDeclaration": 15881,
|
|
3839
3839
|
"src": "3859:6:13",
|
|
3840
3840
|
"typeDescriptions": {
|
|
3841
3841
|
"typeIdentifier": "t_bool",
|
|
@@ -3880,10 +3880,10 @@
|
|
|
3880
3880
|
"name": "require",
|
|
3881
3881
|
"nodeType": "Identifier",
|
|
3882
3882
|
"overloadedDeclarations": [
|
|
3883
|
-
|
|
3884
|
-
|
|
3883
|
+
16442,
|
|
3884
|
+
16443
|
|
3885
3885
|
],
|
|
3886
|
-
"referencedDeclaration":
|
|
3886
|
+
"referencedDeclaration": 16442,
|
|
3887
3887
|
"src": "3851:7:13",
|
|
3888
3888
|
"typeDescriptions": {
|
|
3889
3889
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -3934,7 +3934,7 @@
|
|
|
3934
3934
|
"name": "msg",
|
|
3935
3935
|
"nodeType": "Identifier",
|
|
3936
3936
|
"overloadedDeclarations": [],
|
|
3937
|
-
"referencedDeclaration":
|
|
3937
|
+
"referencedDeclaration": 16439,
|
|
3938
3938
|
"src": "3931:3:13",
|
|
3939
3939
|
"typeDescriptions": {
|
|
3940
3940
|
"typeIdentifier": "t_magic_message",
|
|
@@ -4026,10 +4026,10 @@
|
|
|
4026
4026
|
"name": "require",
|
|
4027
4027
|
"nodeType": "Identifier",
|
|
4028
4028
|
"overloadedDeclarations": [
|
|
4029
|
-
|
|
4030
|
-
|
|
4029
|
+
16442,
|
|
4030
|
+
16443
|
|
4031
4031
|
],
|
|
4032
|
-
"referencedDeclaration":
|
|
4032
|
+
"referencedDeclaration": 16442,
|
|
4033
4033
|
"src": "3914:7:13",
|
|
4034
4034
|
"typeDescriptions": {
|
|
4035
4035
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -4069,7 +4069,7 @@
|
|
|
4069
4069
|
"name": "msg",
|
|
4070
4070
|
"nodeType": "Identifier",
|
|
4071
4071
|
"overloadedDeclarations": [],
|
|
4072
|
-
"referencedDeclaration":
|
|
4072
|
+
"referencedDeclaration": 16439,
|
|
4073
4073
|
"src": "4018:3:13",
|
|
4074
4074
|
"typeDescriptions": {
|
|
4075
4075
|
"typeIdentifier": "t_magic_message",
|
|
@@ -4147,7 +4147,7 @@
|
|
|
4147
4147
|
"name": "msg",
|
|
4148
4148
|
"nodeType": "Identifier",
|
|
4149
4149
|
"overloadedDeclarations": [],
|
|
4150
|
-
"referencedDeclaration":
|
|
4150
|
+
"referencedDeclaration": 16439,
|
|
4151
4151
|
"src": "4030:3:13",
|
|
4152
4152
|
"typeDescriptions": {
|
|
4153
4153
|
"typeIdentifier": "t_magic_message",
|
|
@@ -4195,7 +4195,7 @@
|
|
|
4195
4195
|
"name": "this",
|
|
4196
4196
|
"nodeType": "Identifier",
|
|
4197
4197
|
"overloadedDeclarations": [],
|
|
4198
|
-
"referencedDeclaration":
|
|
4198
|
+
"referencedDeclaration": 16503,
|
|
4199
4199
|
"src": "4059:4:13",
|
|
4200
4200
|
"typeDescriptions": {
|
|
4201
4201
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -4340,7 +4340,7 @@
|
|
|
4340
4340
|
"name": "paused",
|
|
4341
4341
|
"nodeType": "Identifier",
|
|
4342
4342
|
"overloadedDeclarations": [],
|
|
4343
|
-
"referencedDeclaration":
|
|
4343
|
+
"referencedDeclaration": 15881,
|
|
4344
4344
|
"src": "4257:6:13",
|
|
4345
4345
|
"typeDescriptions": {
|
|
4346
4346
|
"typeIdentifier": "t_bool",
|
|
@@ -4385,10 +4385,10 @@
|
|
|
4385
4385
|
"name": "require",
|
|
4386
4386
|
"nodeType": "Identifier",
|
|
4387
4387
|
"overloadedDeclarations": [
|
|
4388
|
-
|
|
4389
|
-
|
|
4388
|
+
16442,
|
|
4389
|
+
16443
|
|
4390
4390
|
],
|
|
4391
|
-
"referencedDeclaration":
|
|
4391
|
+
"referencedDeclaration": 16442,
|
|
4392
4392
|
"src": "4249:7:13",
|
|
4393
4393
|
"typeDescriptions": {
|
|
4394
4394
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -4515,10 +4515,10 @@
|
|
|
4515
4515
|
"name": "require",
|
|
4516
4516
|
"nodeType": "Identifier",
|
|
4517
4517
|
"overloadedDeclarations": [
|
|
4518
|
-
|
|
4519
|
-
|
|
4518
|
+
16442,
|
|
4519
|
+
16443
|
|
4520
4520
|
],
|
|
4521
|
-
"referencedDeclaration":
|
|
4521
|
+
"referencedDeclaration": 16442,
|
|
4522
4522
|
"src": "4312:7:13",
|
|
4523
4523
|
"typeDescriptions": {
|
|
4524
4524
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -4645,10 +4645,10 @@
|
|
|
4645
4645
|
"name": "require",
|
|
4646
4646
|
"nodeType": "Identifier",
|
|
4647
4647
|
"overloadedDeclarations": [
|
|
4648
|
-
|
|
4649
|
-
|
|
4648
|
+
16442,
|
|
4649
|
+
16443
|
|
4650
4650
|
],
|
|
4651
|
-
"referencedDeclaration":
|
|
4651
|
+
"referencedDeclaration": 16442,
|
|
4652
4652
|
"src": "4354:7:13",
|
|
4653
4653
|
"typeDescriptions": {
|
|
4654
4654
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -4720,7 +4720,7 @@
|
|
|
4720
4720
|
"name": "this",
|
|
4721
4721
|
"nodeType": "Identifier",
|
|
4722
4722
|
"overloadedDeclarations": [],
|
|
4723
|
-
"referencedDeclaration":
|
|
4723
|
+
"referencedDeclaration": 16503,
|
|
4724
4724
|
"src": "4492:4:13",
|
|
4725
4725
|
"typeDescriptions": {
|
|
4726
4726
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -5794,10 +5794,10 @@
|
|
|
5794
5794
|
"name": "ViaToken",
|
|
5795
5795
|
"nodeType": "Identifier",
|
|
5796
5796
|
"overloadedDeclarations": [],
|
|
5797
|
-
"referencedDeclaration":
|
|
5797
|
+
"referencedDeclaration": 14279,
|
|
5798
5798
|
"src": "5585:8:13",
|
|
5799
5799
|
"typeDescriptions": {
|
|
5800
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
5800
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
5801
5801
|
"typeString": "type(contract ViaToken)"
|
|
5802
5802
|
}
|
|
5803
5803
|
},
|
|
@@ -5811,7 +5811,7 @@
|
|
|
5811
5811
|
"nodeType": "FunctionCall",
|
|
5812
5812
|
"src": "5585:20:13",
|
|
5813
5813
|
"typeDescriptions": {
|
|
5814
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
5814
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
5815
5815
|
"typeString": "contract ViaToken"
|
|
5816
5816
|
}
|
|
5817
5817
|
},
|
|
@@ -5822,7 +5822,7 @@
|
|
|
5822
5822
|
"lValueRequested": false,
|
|
5823
5823
|
"memberName": "transferToken",
|
|
5824
5824
|
"nodeType": "MemberAccess",
|
|
5825
|
-
"referencedDeclaration":
|
|
5825
|
+
"referencedDeclaration": 14232,
|
|
5826
5826
|
"src": "5585:34:13",
|
|
5827
5827
|
"typeDescriptions": {
|
|
5828
5828
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
|
|
@@ -7411,7 +7411,7 @@
|
|
|
7411
7411
|
"name": "paused",
|
|
7412
7412
|
"nodeType": "Identifier",
|
|
7413
7413
|
"overloadedDeclarations": [],
|
|
7414
|
-
"referencedDeclaration":
|
|
7414
|
+
"referencedDeclaration": 15881,
|
|
7415
7415
|
"src": "6864:6:13",
|
|
7416
7416
|
"typeDescriptions": {
|
|
7417
7417
|
"typeIdentifier": "t_bool",
|
|
@@ -7456,10 +7456,10 @@
|
|
|
7456
7456
|
"name": "require",
|
|
7457
7457
|
"nodeType": "Identifier",
|
|
7458
7458
|
"overloadedDeclarations": [
|
|
7459
|
-
|
|
7460
|
-
|
|
7459
|
+
16442,
|
|
7460
|
+
16443
|
|
7461
7461
|
],
|
|
7462
|
-
"referencedDeclaration":
|
|
7462
|
+
"referencedDeclaration": 16442,
|
|
7463
7463
|
"src": "6856:7:13",
|
|
7464
7464
|
"typeDescriptions": {
|
|
7465
7465
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -7545,10 +7545,10 @@
|
|
|
7545
7545
|
"name": "require",
|
|
7546
7546
|
"nodeType": "Identifier",
|
|
7547
7547
|
"overloadedDeclarations": [
|
|
7548
|
-
|
|
7549
|
-
|
|
7548
|
+
16442,
|
|
7549
|
+
16443
|
|
7550
7550
|
],
|
|
7551
|
-
"referencedDeclaration":
|
|
7551
|
+
"referencedDeclaration": 16442,
|
|
7552
7552
|
"src": "6986:7:13",
|
|
7553
7553
|
"typeDescriptions": {
|
|
7554
7554
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -7675,10 +7675,10 @@
|
|
|
7675
7675
|
"name": "require",
|
|
7676
7676
|
"nodeType": "Identifier",
|
|
7677
7677
|
"overloadedDeclarations": [
|
|
7678
|
-
|
|
7679
|
-
|
|
7678
|
+
16442,
|
|
7679
|
+
16443
|
|
7680
7680
|
],
|
|
7681
|
-
"referencedDeclaration":
|
|
7681
|
+
"referencedDeclaration": 16442,
|
|
7682
7682
|
"src": "7052:7:13",
|
|
7683
7683
|
"typeDescriptions": {
|
|
7684
7684
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -7729,7 +7729,7 @@
|
|
|
7729
7729
|
"name": "msg",
|
|
7730
7730
|
"nodeType": "Identifier",
|
|
7731
7731
|
"overloadedDeclarations": [],
|
|
7732
|
-
"referencedDeclaration":
|
|
7732
|
+
"referencedDeclaration": 16439,
|
|
7733
7733
|
"src": "7117:3:13",
|
|
7734
7734
|
"typeDescriptions": {
|
|
7735
7735
|
"typeIdentifier": "t_magic_message",
|
|
@@ -7837,10 +7837,10 @@
|
|
|
7837
7837
|
"name": "require",
|
|
7838
7838
|
"nodeType": "Identifier",
|
|
7839
7839
|
"overloadedDeclarations": [
|
|
7840
|
-
|
|
7841
|
-
|
|
7840
|
+
16442,
|
|
7841
|
+
16443
|
|
7842
7842
|
],
|
|
7843
|
-
"referencedDeclaration":
|
|
7843
|
+
"referencedDeclaration": 16442,
|
|
7844
7844
|
"src": "7093:7:13",
|
|
7845
7845
|
"typeDescriptions": {
|
|
7846
7846
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -8221,10 +8221,10 @@
|
|
|
8221
8221
|
"name": "require",
|
|
8222
8222
|
"nodeType": "Identifier",
|
|
8223
8223
|
"overloadedDeclarations": [
|
|
8224
|
-
|
|
8225
|
-
|
|
8224
|
+
16442,
|
|
8225
|
+
16443
|
|
8226
8226
|
],
|
|
8227
|
-
"referencedDeclaration":
|
|
8227
|
+
"referencedDeclaration": 16442,
|
|
8228
8228
|
"src": "7487:7:13",
|
|
8229
8229
|
"typeDescriptions": {
|
|
8230
8230
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -8876,7 +8876,7 @@
|
|
|
8876
8876
|
"lValueRequested": false,
|
|
8877
8877
|
"memberName": "substring",
|
|
8878
8878
|
"nodeType": "MemberAccess",
|
|
8879
|
-
"referencedDeclaration":
|
|
8879
|
+
"referencedDeclaration": 16247,
|
|
8880
8880
|
"src": "10442:18:13",
|
|
8881
8881
|
"typeDescriptions": {
|
|
8882
8882
|
"typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_bytes32_$",
|
|
@@ -8950,7 +8950,7 @@
|
|
|
8950
8950
|
"name": "abi",
|
|
8951
8951
|
"nodeType": "Identifier",
|
|
8952
8952
|
"overloadedDeclarations": [],
|
|
8953
|
-
"referencedDeclaration":
|
|
8953
|
+
"referencedDeclaration": 16426,
|
|
8954
8954
|
"src": "10425:3:13",
|
|
8955
8955
|
"typeDescriptions": {
|
|
8956
8956
|
"typeIdentifier": "t_magic_abi",
|
|
@@ -9030,7 +9030,7 @@
|
|
|
9030
9030
|
"name": "this",
|
|
9031
9031
|
"nodeType": "Identifier",
|
|
9032
9032
|
"overloadedDeclarations": [],
|
|
9033
|
-
"referencedDeclaration":
|
|
9033
|
+
"referencedDeclaration": 16503,
|
|
9034
9034
|
"src": "10505:4:13",
|
|
9035
9035
|
"typeDescriptions": {
|
|
9036
9036
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -9925,7 +9925,7 @@
|
|
|
9925
9925
|
"name": "this",
|
|
9926
9926
|
"nodeType": "Identifier",
|
|
9927
9927
|
"overloadedDeclarations": [],
|
|
9928
|
-
"referencedDeclaration":
|
|
9928
|
+
"referencedDeclaration": 16503,
|
|
9929
9929
|
"src": "9570:4:13",
|
|
9930
9930
|
"typeDescriptions": {
|
|
9931
9931
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -10710,7 +10710,7 @@
|
|
|
10710
10710
|
"name": "this",
|
|
10711
10711
|
"nodeType": "Identifier",
|
|
10712
10712
|
"overloadedDeclarations": [],
|
|
10713
|
-
"referencedDeclaration":
|
|
10713
|
+
"referencedDeclaration": 16503,
|
|
10714
10714
|
"src": "8516:4:13",
|
|
10715
10715
|
"typeDescriptions": {
|
|
10716
10716
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -10904,7 +10904,7 @@
|
|
|
10904
10904
|
"name": "abi",
|
|
10905
10905
|
"nodeType": "Identifier",
|
|
10906
10906
|
"overloadedDeclarations": [],
|
|
10907
|
-
"referencedDeclaration":
|
|
10907
|
+
"referencedDeclaration": 16426,
|
|
10908
10908
|
"src": "8573:3:13",
|
|
10909
10909
|
"typeDescriptions": {
|
|
10910
10910
|
"typeIdentifier": "t_magic_abi",
|
|
@@ -10984,7 +10984,7 @@
|
|
|
10984
10984
|
"name": "this",
|
|
10985
10985
|
"nodeType": "Identifier",
|
|
10986
10986
|
"overloadedDeclarations": [],
|
|
10987
|
-
"referencedDeclaration":
|
|
10987
|
+
"referencedDeclaration": 16503,
|
|
10988
10988
|
"src": "8635:4:13",
|
|
10989
10989
|
"typeDescriptions": {
|
|
10990
10990
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -11964,7 +11964,7 @@
|
|
|
11964
11964
|
"name": "paused",
|
|
11965
11965
|
"nodeType": "Identifier",
|
|
11966
11966
|
"overloadedDeclarations": [],
|
|
11967
|
-
"referencedDeclaration":
|
|
11967
|
+
"referencedDeclaration": 15881,
|
|
11968
11968
|
"src": "11163:6:13",
|
|
11969
11969
|
"typeDescriptions": {
|
|
11970
11970
|
"typeIdentifier": "t_bool",
|
|
@@ -12009,10 +12009,10 @@
|
|
|
12009
12009
|
"name": "require",
|
|
12010
12010
|
"nodeType": "Identifier",
|
|
12011
12011
|
"overloadedDeclarations": [
|
|
12012
|
-
|
|
12013
|
-
|
|
12012
|
+
16442,
|
|
12013
|
+
16443
|
|
12014
12014
|
],
|
|
12015
|
-
"referencedDeclaration":
|
|
12015
|
+
"referencedDeclaration": 16442,
|
|
12016
12016
|
"src": "11155:7:13",
|
|
12017
12017
|
"typeDescriptions": {
|
|
12018
12018
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -12139,10 +12139,10 @@
|
|
|
12139
12139
|
"name": "require",
|
|
12140
12140
|
"nodeType": "Identifier",
|
|
12141
12141
|
"overloadedDeclarations": [
|
|
12142
|
-
|
|
12143
|
-
|
|
12142
|
+
16442,
|
|
12143
|
+
16443
|
|
12144
12144
|
],
|
|
12145
|
-
"referencedDeclaration":
|
|
12145
|
+
"referencedDeclaration": 16442,
|
|
12146
12146
|
"src": "11218:7:13",
|
|
12147
12147
|
"typeDescriptions": {
|
|
12148
12148
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -12193,7 +12193,7 @@
|
|
|
12193
12193
|
"name": "msg",
|
|
12194
12194
|
"nodeType": "Identifier",
|
|
12195
12195
|
"overloadedDeclarations": [],
|
|
12196
|
-
"referencedDeclaration":
|
|
12196
|
+
"referencedDeclaration": 16439,
|
|
12197
12197
|
"src": "11283:3:13",
|
|
12198
12198
|
"typeDescriptions": {
|
|
12199
12199
|
"typeIdentifier": "t_magic_message",
|
|
@@ -12301,10 +12301,10 @@
|
|
|
12301
12301
|
"name": "require",
|
|
12302
12302
|
"nodeType": "Identifier",
|
|
12303
12303
|
"overloadedDeclarations": [
|
|
12304
|
-
|
|
12305
|
-
|
|
12304
|
+
16442,
|
|
12305
|
+
16443
|
|
12306
12306
|
],
|
|
12307
|
-
"referencedDeclaration":
|
|
12307
|
+
"referencedDeclaration": 16442,
|
|
12308
12308
|
"src": "11259:7:13",
|
|
12309
12309
|
"typeDescriptions": {
|
|
12310
12310
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -12447,10 +12447,10 @@
|
|
|
12447
12447
|
"name": "require",
|
|
12448
12448
|
"nodeType": "Identifier",
|
|
12449
12449
|
"overloadedDeclarations": [
|
|
12450
|
-
|
|
12451
|
-
|
|
12450
|
+
16442,
|
|
12451
|
+
16443
|
|
12452
12452
|
],
|
|
12453
|
-
"referencedDeclaration":
|
|
12453
|
+
"referencedDeclaration": 16442,
|
|
12454
12454
|
"src": "11324:7:13",
|
|
12455
12455
|
"typeDescriptions": {
|
|
12456
12456
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -12542,7 +12542,7 @@
|
|
|
12542
12542
|
"name": "msg",
|
|
12543
12543
|
"nodeType": "Identifier",
|
|
12544
12544
|
"overloadedDeclarations": [],
|
|
12545
|
-
"referencedDeclaration":
|
|
12545
|
+
"referencedDeclaration": 16439,
|
|
12546
12546
|
"src": "11439:3:13",
|
|
12547
12547
|
"typeDescriptions": {
|
|
12548
12548
|
"typeIdentifier": "t_magic_message",
|
|
@@ -12864,10 +12864,10 @@
|
|
|
12864
12864
|
"name": "require",
|
|
12865
12865
|
"nodeType": "Identifier",
|
|
12866
12866
|
"overloadedDeclarations": [
|
|
12867
|
-
|
|
12868
|
-
|
|
12867
|
+
16442,
|
|
12868
|
+
16443
|
|
12869
12869
|
],
|
|
12870
|
-
"referencedDeclaration":
|
|
12870
|
+
"referencedDeclaration": 16442,
|
|
12871
12871
|
"src": "11748:7:13",
|
|
12872
12872
|
"typeDescriptions": {
|
|
12873
12873
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -13224,7 +13224,7 @@
|
|
|
13224
13224
|
"lValueRequested": false,
|
|
13225
13225
|
"memberName": "substring",
|
|
13226
13226
|
"nodeType": "MemberAccess",
|
|
13227
|
-
"referencedDeclaration":
|
|
13227
|
+
"referencedDeclaration": 16247,
|
|
13228
13228
|
"src": "13622:18:13",
|
|
13229
13229
|
"typeDescriptions": {
|
|
13230
13230
|
"typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_bytes32_$",
|
|
@@ -13259,7 +13259,7 @@
|
|
|
13259
13259
|
"name": "abi",
|
|
13260
13260
|
"nodeType": "Identifier",
|
|
13261
13261
|
"overloadedDeclarations": [],
|
|
13262
|
-
"referencedDeclaration":
|
|
13262
|
+
"referencedDeclaration": 16426,
|
|
13263
13263
|
"src": "13605:3:13",
|
|
13264
13264
|
"typeDescriptions": {
|
|
13265
13265
|
"typeIdentifier": "t_magic_abi",
|
|
@@ -13339,7 +13339,7 @@
|
|
|
13339
13339
|
"name": "this",
|
|
13340
13340
|
"nodeType": "Identifier",
|
|
13341
13341
|
"overloadedDeclarations": [],
|
|
13342
|
-
"referencedDeclaration":
|
|
13342
|
+
"referencedDeclaration": 16503,
|
|
13343
13343
|
"src": "13668:4:13",
|
|
13344
13344
|
"typeDescriptions": {
|
|
13345
13345
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -14196,7 +14196,7 @@
|
|
|
14196
14196
|
"lValueRequested": false,
|
|
14197
14197
|
"memberName": "substring",
|
|
14198
14198
|
"nodeType": "MemberAccess",
|
|
14199
|
-
"referencedDeclaration":
|
|
14199
|
+
"referencedDeclaration": 16247,
|
|
14200
14200
|
"src": "12344:18:13",
|
|
14201
14201
|
"typeDescriptions": {
|
|
14202
14202
|
"typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_bytes32_$",
|
|
@@ -14270,7 +14270,7 @@
|
|
|
14270
14270
|
"name": "abi",
|
|
14271
14271
|
"nodeType": "Identifier",
|
|
14272
14272
|
"overloadedDeclarations": [],
|
|
14273
|
-
"referencedDeclaration":
|
|
14273
|
+
"referencedDeclaration": 16426,
|
|
14274
14274
|
"src": "12327:3:13",
|
|
14275
14275
|
"typeDescriptions": {
|
|
14276
14276
|
"typeIdentifier": "t_magic_abi",
|
|
@@ -14350,7 +14350,7 @@
|
|
|
14350
14350
|
"name": "this",
|
|
14351
14351
|
"nodeType": "Identifier",
|
|
14352
14352
|
"overloadedDeclarations": [],
|
|
14353
|
-
"referencedDeclaration":
|
|
14353
|
+
"referencedDeclaration": 16503,
|
|
14354
14354
|
"src": "12408:4:13",
|
|
14355
14355
|
"typeDescriptions": {
|
|
14356
14356
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -14566,7 +14566,7 @@
|
|
|
14566
14566
|
"lValueRequested": false,
|
|
14567
14567
|
"memberName": "substring",
|
|
14568
14568
|
"nodeType": "MemberAccess",
|
|
14569
|
-
"referencedDeclaration":
|
|
14569
|
+
"referencedDeclaration": 16247,
|
|
14570
14570
|
"src": "12497:18:13",
|
|
14571
14571
|
"typeDescriptions": {
|
|
14572
14572
|
"typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$bound_to$_t_bytes32_$",
|
|
@@ -14640,7 +14640,7 @@
|
|
|
14640
14640
|
"name": "abi",
|
|
14641
14641
|
"nodeType": "Identifier",
|
|
14642
14642
|
"overloadedDeclarations": [],
|
|
14643
|
-
"referencedDeclaration":
|
|
14643
|
+
"referencedDeclaration": 16426,
|
|
14644
14644
|
"src": "12480:3:13",
|
|
14645
14645
|
"typeDescriptions": {
|
|
14646
14646
|
"typeIdentifier": "t_magic_abi",
|
|
@@ -14720,7 +14720,7 @@
|
|
|
14720
14720
|
"name": "this",
|
|
14721
14721
|
"nodeType": "Identifier",
|
|
14722
14722
|
"overloadedDeclarations": [],
|
|
14723
|
-
"referencedDeclaration":
|
|
14723
|
+
"referencedDeclaration": 16503,
|
|
14724
14724
|
"src": "12561:4:13",
|
|
14725
14725
|
"typeDescriptions": {
|
|
14726
14726
|
"typeIdentifier": "t_contract$_Bond_$8870",
|
|
@@ -15786,7 +15786,7 @@
|
|
|
15786
15786
|
"name": "paused",
|
|
15787
15787
|
"nodeType": "Identifier",
|
|
15788
15788
|
"overloadedDeclarations": [],
|
|
15789
|
-
"referencedDeclaration":
|
|
15789
|
+
"referencedDeclaration": 15881,
|
|
15790
15790
|
"src": "14383:6:13",
|
|
15791
15791
|
"typeDescriptions": {
|
|
15792
15792
|
"typeIdentifier": "t_bool",
|
|
@@ -15831,10 +15831,10 @@
|
|
|
15831
15831
|
"name": "require",
|
|
15832
15832
|
"nodeType": "Identifier",
|
|
15833
15833
|
"overloadedDeclarations": [
|
|
15834
|
-
|
|
15835
|
-
|
|
15834
|
+
16442,
|
|
15835
|
+
16443
|
|
15836
15836
|
],
|
|
15837
|
-
"referencedDeclaration":
|
|
15837
|
+
"referencedDeclaration": 16442,
|
|
15838
15838
|
"src": "14375:7:13",
|
|
15839
15839
|
"typeDescriptions": {
|
|
15840
15840
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -15961,10 +15961,10 @@
|
|
|
15961
15961
|
"name": "require",
|
|
15962
15962
|
"nodeType": "Identifier",
|
|
15963
15963
|
"overloadedDeclarations": [
|
|
15964
|
-
|
|
15965
|
-
|
|
15964
|
+
16442,
|
|
15965
|
+
16443
|
|
15966
15966
|
],
|
|
15967
|
-
"referencedDeclaration":
|
|
15967
|
+
"referencedDeclaration": 16442,
|
|
15968
15968
|
"src": "14438:7:13",
|
|
15969
15969
|
"typeDescriptions": {
|
|
15970
15970
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -16015,7 +16015,7 @@
|
|
|
16015
16015
|
"name": "msg",
|
|
16016
16016
|
"nodeType": "Identifier",
|
|
16017
16017
|
"overloadedDeclarations": [],
|
|
16018
|
-
"referencedDeclaration":
|
|
16018
|
+
"referencedDeclaration": 16439,
|
|
16019
16019
|
"src": "14503:3:13",
|
|
16020
16020
|
"typeDescriptions": {
|
|
16021
16021
|
"typeIdentifier": "t_magic_message",
|
|
@@ -16123,10 +16123,10 @@
|
|
|
16123
16123
|
"name": "require",
|
|
16124
16124
|
"nodeType": "Identifier",
|
|
16125
16125
|
"overloadedDeclarations": [
|
|
16126
|
-
|
|
16127
|
-
|
|
16126
|
+
16442,
|
|
16127
|
+
16443
|
|
16128
16128
|
],
|
|
16129
|
-
"referencedDeclaration":
|
|
16129
|
+
"referencedDeclaration": 16442,
|
|
16130
16130
|
"src": "14479:7:13",
|
|
16131
16131
|
"typeDescriptions": {
|
|
16132
16132
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -16767,7 +16767,7 @@
|
|
|
16767
16767
|
"name": "now",
|
|
16768
16768
|
"nodeType": "Identifier",
|
|
16769
16769
|
"overloadedDeclarations": [],
|
|
16770
|
-
"referencedDeclaration":
|
|
16770
|
+
"referencedDeclaration": 16441,
|
|
16771
16771
|
"src": "21211:3:13",
|
|
16772
16772
|
"typeDescriptions": {
|
|
16773
16773
|
"typeIdentifier": "t_uint256",
|
|
@@ -16893,10 +16893,10 @@
|
|
|
16893
16893
|
"name": "BokkyPooBahsDateTimeLibrary",
|
|
16894
16894
|
"nodeType": "Identifier",
|
|
16895
16895
|
"overloadedDeclarations": [],
|
|
16896
|
-
"referencedDeclaration":
|
|
16896
|
+
"referencedDeclaration": 15877,
|
|
16897
16897
|
"src": "21218:27:13",
|
|
16898
16898
|
"typeDescriptions": {
|
|
16899
|
-
"typeIdentifier": "t_type$_t_contract$_BokkyPooBahsDateTimeLibrary_$
|
|
16899
|
+
"typeIdentifier": "t_type$_t_contract$_BokkyPooBahsDateTimeLibrary_$15877_$",
|
|
16900
16900
|
"typeString": "type(library BokkyPooBahsDateTimeLibrary)"
|
|
16901
16901
|
}
|
|
16902
16902
|
},
|
|
@@ -16907,7 +16907,7 @@
|
|
|
16907
16907
|
"lValueRequested": false,
|
|
16908
16908
|
"memberName": "addSeconds",
|
|
16909
16909
|
"nodeType": "MemberAccess",
|
|
16910
|
-
"referencedDeclaration":
|
|
16910
|
+
"referencedDeclaration": 15390,
|
|
16911
16911
|
"src": "21218:38:13",
|
|
16912
16912
|
"typeDescriptions": {
|
|
16913
16913
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
|
@@ -17990,10 +17990,10 @@
|
|
|
17990
17990
|
"name": "require",
|
|
17991
17991
|
"nodeType": "Identifier",
|
|
17992
17992
|
"overloadedDeclarations": [
|
|
17993
|
-
|
|
17994
|
-
|
|
17993
|
+
16442,
|
|
17994
|
+
16443
|
|
17995
17995
|
],
|
|
17996
|
-
"referencedDeclaration":
|
|
17996
|
+
"referencedDeclaration": 16442,
|
|
17997
17997
|
"src": "22327:7:13",
|
|
17998
17998
|
"typeDescriptions": {
|
|
17999
17999
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -18618,10 +18618,10 @@
|
|
|
18618
18618
|
"name": "ViaToken",
|
|
18619
18619
|
"nodeType": "Identifier",
|
|
18620
18620
|
"overloadedDeclarations": [],
|
|
18621
|
-
"referencedDeclaration":
|
|
18621
|
+
"referencedDeclaration": 14279,
|
|
18622
18622
|
"src": "22897:8:13",
|
|
18623
18623
|
"typeDescriptions": {
|
|
18624
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
18624
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
18625
18625
|
"typeString": "type(contract ViaToken)"
|
|
18626
18626
|
}
|
|
18627
18627
|
},
|
|
@@ -18635,7 +18635,7 @@
|
|
|
18635
18635
|
"nodeType": "FunctionCall",
|
|
18636
18636
|
"src": "22897:23:13",
|
|
18637
18637
|
"typeDescriptions": {
|
|
18638
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
18638
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
18639
18639
|
"typeString": "contract ViaToken"
|
|
18640
18640
|
}
|
|
18641
18641
|
},
|
|
@@ -18646,7 +18646,7 @@
|
|
|
18646
18646
|
"lValueRequested": false,
|
|
18647
18647
|
"memberName": "reduceSupply",
|
|
18648
18648
|
"nodeType": "MemberAccess",
|
|
18649
|
-
"referencedDeclaration":
|
|
18649
|
+
"referencedDeclaration": 14237,
|
|
18650
18650
|
"src": "22897:36:13",
|
|
18651
18651
|
"typeDescriptions": {
|
|
18652
18652
|
"typeIdentifier": "t_function_external_nonpayable$_t_bytes16_$returns$__$",
|
|
@@ -18856,10 +18856,10 @@
|
|
|
18856
18856
|
"name": "ViaToken",
|
|
18857
18857
|
"nodeType": "Identifier",
|
|
18858
18858
|
"overloadedDeclarations": [],
|
|
18859
|
-
"referencedDeclaration":
|
|
18859
|
+
"referencedDeclaration": 14279,
|
|
18860
18860
|
"src": "23156:8:13",
|
|
18861
18861
|
"typeDescriptions": {
|
|
18862
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
18862
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
18863
18863
|
"typeString": "type(contract ViaToken)"
|
|
18864
18864
|
}
|
|
18865
18865
|
},
|
|
@@ -18873,7 +18873,7 @@
|
|
|
18873
18873
|
"nodeType": "FunctionCall",
|
|
18874
18874
|
"src": "23156:23:13",
|
|
18875
18875
|
"typeDescriptions": {
|
|
18876
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
18876
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
18877
18877
|
"typeString": "contract ViaToken"
|
|
18878
18878
|
}
|
|
18879
18879
|
},
|
|
@@ -18884,7 +18884,7 @@
|
|
|
18884
18884
|
"lValueRequested": false,
|
|
18885
18885
|
"memberName": "reduceBalance",
|
|
18886
18886
|
"nodeType": "MemberAccess",
|
|
18887
|
-
"referencedDeclaration":
|
|
18887
|
+
"referencedDeclaration": 14244,
|
|
18888
18888
|
"src": "23156:37:13",
|
|
18889
18889
|
"typeDescriptions": {
|
|
18890
18890
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes16_$returns$__$",
|
|
@@ -21528,10 +21528,10 @@
|
|
|
21528
21528
|
"name": "require",
|
|
21529
21529
|
"nodeType": "Identifier",
|
|
21530
21530
|
"overloadedDeclarations": [
|
|
21531
|
-
|
|
21532
|
-
|
|
21531
|
+
16442,
|
|
21532
|
+
16443
|
|
21533
21533
|
],
|
|
21534
|
-
"referencedDeclaration":
|
|
21534
|
+
"referencedDeclaration": 16442,
|
|
21535
21535
|
"src": "18839:7:13",
|
|
21536
21536
|
"typeDescriptions": {
|
|
21537
21537
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -22984,10 +22984,10 @@
|
|
|
22984
22984
|
"name": "ViaToken",
|
|
22985
22985
|
"nodeType": "Identifier",
|
|
22986
22986
|
"overloadedDeclarations": [],
|
|
22987
|
-
"referencedDeclaration":
|
|
22987
|
+
"referencedDeclaration": 14279,
|
|
22988
22988
|
"src": "20025:8:13",
|
|
22989
22989
|
"typeDescriptions": {
|
|
22990
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
22990
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
22991
22991
|
"typeString": "type(contract ViaToken)"
|
|
22992
22992
|
}
|
|
22993
22993
|
},
|
|
@@ -23001,7 +23001,7 @@
|
|
|
23001
23001
|
"nodeType": "FunctionCall",
|
|
23002
23002
|
"src": "20025:23:13",
|
|
23003
23003
|
"typeDescriptions": {
|
|
23004
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
23004
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
23005
23005
|
"typeString": "contract ViaToken"
|
|
23006
23006
|
}
|
|
23007
23007
|
},
|
|
@@ -23012,7 +23012,7 @@
|
|
|
23012
23012
|
"lValueRequested": false,
|
|
23013
23013
|
"memberName": "reduceSupply",
|
|
23014
23014
|
"nodeType": "MemberAccess",
|
|
23015
|
-
"referencedDeclaration":
|
|
23015
|
+
"referencedDeclaration": 14237,
|
|
23016
23016
|
"src": "20025:36:13",
|
|
23017
23017
|
"typeDescriptions": {
|
|
23018
23018
|
"typeIdentifier": "t_function_external_nonpayable$_t_bytes16_$returns$__$",
|
|
@@ -23222,10 +23222,10 @@
|
|
|
23222
23222
|
"name": "ViaToken",
|
|
23223
23223
|
"nodeType": "Identifier",
|
|
23224
23224
|
"overloadedDeclarations": [],
|
|
23225
|
-
"referencedDeclaration":
|
|
23225
|
+
"referencedDeclaration": 14279,
|
|
23226
23226
|
"src": "20215:8:13",
|
|
23227
23227
|
"typeDescriptions": {
|
|
23228
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
23228
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
23229
23229
|
"typeString": "type(contract ViaToken)"
|
|
23230
23230
|
}
|
|
23231
23231
|
},
|
|
@@ -23239,7 +23239,7 @@
|
|
|
23239
23239
|
"nodeType": "FunctionCall",
|
|
23240
23240
|
"src": "20215:23:13",
|
|
23241
23241
|
"typeDescriptions": {
|
|
23242
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
23242
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
23243
23243
|
"typeString": "contract ViaToken"
|
|
23244
23244
|
}
|
|
23245
23245
|
},
|
|
@@ -23250,7 +23250,7 @@
|
|
|
23250
23250
|
"lValueRequested": false,
|
|
23251
23251
|
"memberName": "reduceBalance",
|
|
23252
23252
|
"nodeType": "MemberAccess",
|
|
23253
|
-
"referencedDeclaration":
|
|
23253
|
+
"referencedDeclaration": 14244,
|
|
23254
23254
|
"src": "20215:37:13",
|
|
23255
23255
|
"typeDescriptions": {
|
|
23256
23256
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes16_$returns$__$",
|
|
@@ -24125,7 +24125,7 @@
|
|
|
24125
24125
|
"name": "now",
|
|
24126
24126
|
"nodeType": "Identifier",
|
|
24127
24127
|
"overloadedDeclarations": [],
|
|
24128
|
-
"referencedDeclaration":
|
|
24128
|
+
"referencedDeclaration": 16441,
|
|
24129
24129
|
"src": "15567:3:13",
|
|
24130
24130
|
"typeDescriptions": {
|
|
24131
24131
|
"typeIdentifier": "t_uint256",
|
|
@@ -24251,10 +24251,10 @@
|
|
|
24251
24251
|
"name": "BokkyPooBahsDateTimeLibrary",
|
|
24252
24252
|
"nodeType": "Identifier",
|
|
24253
24253
|
"overloadedDeclarations": [],
|
|
24254
|
-
"referencedDeclaration":
|
|
24254
|
+
"referencedDeclaration": 15877,
|
|
24255
24255
|
"src": "15574:27:13",
|
|
24256
24256
|
"typeDescriptions": {
|
|
24257
|
-
"typeIdentifier": "t_type$_t_contract$_BokkyPooBahsDateTimeLibrary_$
|
|
24257
|
+
"typeIdentifier": "t_type$_t_contract$_BokkyPooBahsDateTimeLibrary_$15877_$",
|
|
24258
24258
|
"typeString": "type(library BokkyPooBahsDateTimeLibrary)"
|
|
24259
24259
|
}
|
|
24260
24260
|
},
|
|
@@ -24265,7 +24265,7 @@
|
|
|
24265
24265
|
"lValueRequested": false,
|
|
24266
24266
|
"memberName": "addSeconds",
|
|
24267
24267
|
"nodeType": "MemberAccess",
|
|
24268
|
-
"referencedDeclaration":
|
|
24268
|
+
"referencedDeclaration": 15390,
|
|
24269
24269
|
"src": "15574:38:13",
|
|
24270
24270
|
"typeDescriptions": {
|
|
24271
24271
|
"typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_uint256_$",
|
|
@@ -24877,10 +24877,10 @@
|
|
|
24877
24877
|
"name": "require",
|
|
24878
24878
|
"nodeType": "Identifier",
|
|
24879
24879
|
"overloadedDeclarations": [
|
|
24880
|
-
|
|
24881
|
-
|
|
24880
|
+
16442,
|
|
24881
|
+
16443
|
|
24882
24882
|
],
|
|
24883
|
-
"referencedDeclaration":
|
|
24883
|
+
"referencedDeclaration": 16442,
|
|
24884
24884
|
"src": "16010:7:13",
|
|
24885
24885
|
"typeDescriptions": {
|
|
24886
24886
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -25754,10 +25754,10 @@
|
|
|
25754
25754
|
"name": "ViaToken",
|
|
25755
25755
|
"nodeType": "Identifier",
|
|
25756
25756
|
"overloadedDeclarations": [],
|
|
25757
|
-
"referencedDeclaration":
|
|
25757
|
+
"referencedDeclaration": 14279,
|
|
25758
25758
|
"src": "16787:8:13",
|
|
25759
25759
|
"typeDescriptions": {
|
|
25760
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
25760
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
25761
25761
|
"typeString": "type(contract ViaToken)"
|
|
25762
25762
|
}
|
|
25763
25763
|
},
|
|
@@ -25771,7 +25771,7 @@
|
|
|
25771
25771
|
"nodeType": "FunctionCall",
|
|
25772
25772
|
"src": "16787:23:13",
|
|
25773
25773
|
"typeDescriptions": {
|
|
25774
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
25774
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
25775
25775
|
"typeString": "contract ViaToken"
|
|
25776
25776
|
}
|
|
25777
25777
|
},
|
|
@@ -25782,7 +25782,7 @@
|
|
|
25782
25782
|
"lValueRequested": false,
|
|
25783
25783
|
"memberName": "reduceSupply",
|
|
25784
25784
|
"nodeType": "MemberAccess",
|
|
25785
|
-
"referencedDeclaration":
|
|
25785
|
+
"referencedDeclaration": 14237,
|
|
25786
25786
|
"src": "16787:36:13",
|
|
25787
25787
|
"typeDescriptions": {
|
|
25788
25788
|
"typeIdentifier": "t_function_external_nonpayable$_t_bytes16_$returns$__$",
|
|
@@ -25992,10 +25992,10 @@
|
|
|
25992
25992
|
"name": "ViaToken",
|
|
25993
25993
|
"nodeType": "Identifier",
|
|
25994
25994
|
"overloadedDeclarations": [],
|
|
25995
|
-
"referencedDeclaration":
|
|
25995
|
+
"referencedDeclaration": 14279,
|
|
25996
25996
|
"src": "17001:8:13",
|
|
25997
25997
|
"typeDescriptions": {
|
|
25998
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
25998
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
25999
25999
|
"typeString": "type(contract ViaToken)"
|
|
26000
26000
|
}
|
|
26001
26001
|
},
|
|
@@ -26009,7 +26009,7 @@
|
|
|
26009
26009
|
"nodeType": "FunctionCall",
|
|
26010
26010
|
"src": "17001:23:13",
|
|
26011
26011
|
"typeDescriptions": {
|
|
26012
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
26012
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
26013
26013
|
"typeString": "contract ViaToken"
|
|
26014
26014
|
}
|
|
26015
26015
|
},
|
|
@@ -26020,7 +26020,7 @@
|
|
|
26020
26020
|
"lValueRequested": false,
|
|
26021
26021
|
"memberName": "reduceBalance",
|
|
26022
26022
|
"nodeType": "MemberAccess",
|
|
26023
|
-
"referencedDeclaration":
|
|
26023
|
+
"referencedDeclaration": 14244,
|
|
26024
26024
|
"src": "17001:37:13",
|
|
26025
26025
|
"typeDescriptions": {
|
|
26026
26026
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes16_$returns$__$",
|
|
@@ -28148,7 +28148,7 @@
|
|
|
28148
28148
|
"name": "msg",
|
|
28149
28149
|
"nodeType": "Identifier",
|
|
28150
28150
|
"overloadedDeclarations": [],
|
|
28151
|
-
"referencedDeclaration":
|
|
28151
|
+
"referencedDeclaration": 16439,
|
|
28152
28152
|
"src": "25241:3:13",
|
|
28153
28153
|
"typeDescriptions": {
|
|
28154
28154
|
"typeIdentifier": "t_magic_message",
|
|
@@ -28220,10 +28220,10 @@
|
|
|
28220
28220
|
"name": "require",
|
|
28221
28221
|
"nodeType": "Identifier",
|
|
28222
28222
|
"overloadedDeclarations": [
|
|
28223
|
-
|
|
28224
|
-
|
|
28223
|
+
16442,
|
|
28224
|
+
16443
|
|
28225
28225
|
],
|
|
28226
|
-
"referencedDeclaration":
|
|
28226
|
+
"referencedDeclaration": 16442,
|
|
28227
28227
|
"src": "25213:7:13",
|
|
28228
28228
|
"typeDescriptions": {
|
|
28229
28229
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -29952,10 +29952,10 @@
|
|
|
29952
29952
|
"name": "paymentutils",
|
|
29953
29953
|
"nodeType": "Identifier",
|
|
29954
29954
|
"overloadedDeclarations": [],
|
|
29955
|
-
"referencedDeclaration":
|
|
29955
|
+
"referencedDeclaration": 16100,
|
|
29956
29956
|
"src": "27014:12:13",
|
|
29957
29957
|
"typeDescriptions": {
|
|
29958
|
-
"typeIdentifier": "t_type$_t_contract$_paymentutils_$
|
|
29958
|
+
"typeIdentifier": "t_type$_t_contract$_paymentutils_$16100_$",
|
|
29959
29959
|
"typeString": "type(library paymentutils)"
|
|
29960
29960
|
}
|
|
29961
29961
|
},
|
|
@@ -29966,7 +29966,7 @@
|
|
|
29966
29966
|
"lValueRequested": false,
|
|
29967
29967
|
"memberName": "calcBondPrice",
|
|
29968
29968
|
"nodeType": "MemberAccess",
|
|
29969
|
-
"referencedDeclaration":
|
|
29969
|
+
"referencedDeclaration": 16099,
|
|
29970
29970
|
"src": "27014:26:13",
|
|
29971
29971
|
"typeDescriptions": {
|
|
29972
29972
|
"typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_bytes16_$_t_bytes32_$_t_bytes16_$_t_bytes16_$returns$_t_bytes16_$",
|
|
@@ -31261,10 +31261,10 @@
|
|
|
31261
31261
|
"name": "paymentutils",
|
|
31262
31262
|
"nodeType": "Identifier",
|
|
31263
31263
|
"overloadedDeclarations": [],
|
|
31264
|
-
"referencedDeclaration":
|
|
31264
|
+
"referencedDeclaration": 16100,
|
|
31265
31265
|
"src": "26142:12:13",
|
|
31266
31266
|
"typeDescriptions": {
|
|
31267
|
-
"typeIdentifier": "t_type$_t_contract$_paymentutils_$
|
|
31267
|
+
"typeIdentifier": "t_type$_t_contract$_paymentutils_$16100_$",
|
|
31268
31268
|
"typeString": "type(library paymentutils)"
|
|
31269
31269
|
}
|
|
31270
31270
|
},
|
|
@@ -31275,7 +31275,7 @@
|
|
|
31275
31275
|
"lValueRequested": false,
|
|
31276
31276
|
"memberName": "convertToVia",
|
|
31277
31277
|
"nodeType": "MemberAccess",
|
|
31278
|
-
"referencedDeclaration":
|
|
31278
|
+
"referencedDeclaration": 16007,
|
|
31279
31279
|
"src": "26142:25:13",
|
|
31280
31280
|
"typeDescriptions": {
|
|
31281
31281
|
"typeIdentifier": "t_function_delegatecall_pure$_t_bytes32_$_t_bytes16_$_t_bytes32_$_t_bytes16_$_t_bytes16_$returns$_t_bytes16_$",
|
|
@@ -31754,7 +31754,7 @@
|
|
|
31754
31754
|
"name": "now",
|
|
31755
31755
|
"nodeType": "Identifier",
|
|
31756
31756
|
"overloadedDeclarations": [],
|
|
31757
|
-
"referencedDeclaration":
|
|
31757
|
+
"referencedDeclaration": 16441,
|
|
31758
31758
|
"src": "27847:3:13",
|
|
31759
31759
|
"typeDescriptions": {
|
|
31760
31760
|
"typeIdentifier": "t_uint256",
|
|
@@ -31890,7 +31890,7 @@
|
|
|
31890
31890
|
"name": "abi",
|
|
31891
31891
|
"nodeType": "Identifier",
|
|
31892
31892
|
"overloadedDeclarations": [],
|
|
31893
|
-
"referencedDeclaration":
|
|
31893
|
+
"referencedDeclaration": 16426,
|
|
31894
31894
|
"src": "28016:3:13",
|
|
31895
31895
|
"typeDescriptions": {
|
|
31896
31896
|
"typeIdentifier": "t_magic_abi",
|
|
@@ -31937,7 +31937,7 @@
|
|
|
31937
31937
|
"name": "keccak256",
|
|
31938
31938
|
"nodeType": "Identifier",
|
|
31939
31939
|
"overloadedDeclarations": [],
|
|
31940
|
-
"referencedDeclaration":
|
|
31940
|
+
"referencedDeclaration": 16433,
|
|
31941
31941
|
"src": "28006:9:13",
|
|
31942
31942
|
"typeDescriptions": {
|
|
31943
31943
|
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
|
|
@@ -32037,7 +32037,7 @@
|
|
|
32037
32037
|
"stateVariable": false,
|
|
32038
32038
|
"storageLocation": "default",
|
|
32039
32039
|
"typeDescriptions": {
|
|
32040
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
32040
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
32041
32041
|
"typeString": "contract ViaToken"
|
|
32042
32042
|
},
|
|
32043
32043
|
"typeName": {
|
|
@@ -32045,10 +32045,10 @@
|
|
|
32045
32045
|
"id": 8238,
|
|
32046
32046
|
"name": "ViaToken",
|
|
32047
32047
|
"nodeType": "UserDefinedTypeName",
|
|
32048
|
-
"referencedDeclaration":
|
|
32048
|
+
"referencedDeclaration": 14279,
|
|
32049
32049
|
"src": "28095:8:13",
|
|
32050
32050
|
"typeDescriptions": {
|
|
32051
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
32051
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
32052
32052
|
"typeString": "contract ViaToken"
|
|
32053
32053
|
}
|
|
32054
32054
|
},
|
|
@@ -32085,10 +32085,10 @@
|
|
|
32085
32085
|
"name": "ViaToken",
|
|
32086
32086
|
"nodeType": "Identifier",
|
|
32087
32087
|
"overloadedDeclarations": [],
|
|
32088
|
-
"referencedDeclaration":
|
|
32088
|
+
"referencedDeclaration": 14279,
|
|
32089
32089
|
"src": "28109:8:13",
|
|
32090
32090
|
"typeDescriptions": {
|
|
32091
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
32091
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
32092
32092
|
"typeString": "type(contract ViaToken)"
|
|
32093
32093
|
}
|
|
32094
32094
|
},
|
|
@@ -32102,7 +32102,7 @@
|
|
|
32102
32102
|
"nodeType": "FunctionCall",
|
|
32103
32103
|
"src": "28109:20:13",
|
|
32104
32104
|
"typeDescriptions": {
|
|
32105
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
32105
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
32106
32106
|
"typeString": "contract ViaToken"
|
|
32107
32107
|
}
|
|
32108
32108
|
},
|
|
@@ -32160,7 +32160,7 @@
|
|
|
32160
32160
|
"referencedDeclaration": 8239,
|
|
32161
32161
|
"src": "28140:2:13",
|
|
32162
32162
|
"typeDescriptions": {
|
|
32163
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
32163
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
32164
32164
|
"typeString": "contract ViaToken"
|
|
32165
32165
|
}
|
|
32166
32166
|
},
|
|
@@ -32171,7 +32171,7 @@
|
|
|
32171
32171
|
"lValueRequested": false,
|
|
32172
32172
|
"memberName": "addBalance",
|
|
32173
32173
|
"nodeType": "MemberAccess",
|
|
32174
|
-
"referencedDeclaration":
|
|
32174
|
+
"referencedDeclaration": 14251,
|
|
32175
32175
|
"src": "28140:13:13",
|
|
32176
32176
|
"typeDescriptions": {
|
|
32177
32177
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_bytes16_$returns$__$",
|
|
@@ -32230,7 +32230,7 @@
|
|
|
32230
32230
|
"referencedDeclaration": 8239,
|
|
32231
32231
|
"src": "28181:2:13",
|
|
32232
32232
|
"typeDescriptions": {
|
|
32233
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
32233
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
32234
32234
|
"typeString": "contract ViaToken"
|
|
32235
32235
|
}
|
|
32236
32236
|
},
|
|
@@ -32241,7 +32241,7 @@
|
|
|
32241
32241
|
"lValueRequested": false,
|
|
32242
32242
|
"memberName": "addTotalSupply",
|
|
32243
32243
|
"nodeType": "MemberAccess",
|
|
32244
|
-
"referencedDeclaration":
|
|
32244
|
+
"referencedDeclaration": 14256,
|
|
32245
32245
|
"src": "28181:17:13",
|
|
32246
32246
|
"typeDescriptions": {
|
|
32247
32247
|
"typeIdentifier": "t_function_external_nonpayable$_t_bytes16_$returns$__$",
|
|
@@ -33173,7 +33173,7 @@
|
|
|
33173
33173
|
"stateVariable": false,
|
|
33174
33174
|
"storageLocation": "default",
|
|
33175
33175
|
"typeDescriptions": {
|
|
33176
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
33176
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
33177
33177
|
"typeString": "contract ViaToken"
|
|
33178
33178
|
},
|
|
33179
33179
|
"typeName": {
|
|
@@ -33181,10 +33181,10 @@
|
|
|
33181
33181
|
"id": 8322,
|
|
33182
33182
|
"name": "ViaToken",
|
|
33183
33183
|
"nodeType": "UserDefinedTypeName",
|
|
33184
|
-
"referencedDeclaration":
|
|
33184
|
+
"referencedDeclaration": 14279,
|
|
33185
33185
|
"src": "28961:8:13",
|
|
33186
33186
|
"typeDescriptions": {
|
|
33187
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
33187
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
33188
33188
|
"typeString": "contract ViaToken"
|
|
33189
33189
|
}
|
|
33190
33190
|
},
|
|
@@ -33221,10 +33221,10 @@
|
|
|
33221
33221
|
"name": "ViaToken",
|
|
33222
33222
|
"nodeType": "Identifier",
|
|
33223
33223
|
"overloadedDeclarations": [],
|
|
33224
|
-
"referencedDeclaration":
|
|
33224
|
+
"referencedDeclaration": 14279,
|
|
33225
33225
|
"src": "28975:8:13",
|
|
33226
33226
|
"typeDescriptions": {
|
|
33227
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
33227
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
33228
33228
|
"typeString": "type(contract ViaToken)"
|
|
33229
33229
|
}
|
|
33230
33230
|
},
|
|
@@ -33238,7 +33238,7 @@
|
|
|
33238
33238
|
"nodeType": "FunctionCall",
|
|
33239
33239
|
"src": "28975:23:13",
|
|
33240
33240
|
"typeDescriptions": {
|
|
33241
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
33241
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
33242
33242
|
"typeString": "contract ViaToken"
|
|
33243
33243
|
}
|
|
33244
33244
|
},
|
|
@@ -33293,7 +33293,7 @@
|
|
|
33293
33293
|
"referencedDeclaration": 8323,
|
|
33294
33294
|
"src": "29026:2:13",
|
|
33295
33295
|
"typeDescriptions": {
|
|
33296
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
33296
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
33297
33297
|
"typeString": "contract ViaToken"
|
|
33298
33298
|
}
|
|
33299
33299
|
},
|
|
@@ -33373,10 +33373,10 @@
|
|
|
33373
33373
|
"name": "require",
|
|
33374
33374
|
"nodeType": "Identifier",
|
|
33375
33375
|
"overloadedDeclarations": [
|
|
33376
|
-
|
|
33377
|
-
|
|
33376
|
+
16442,
|
|
33377
|
+
16443
|
|
33378
33378
|
],
|
|
33379
|
-
"referencedDeclaration":
|
|
33379
|
+
"referencedDeclaration": 16442,
|
|
33380
33380
|
"src": "29051:7:13",
|
|
33381
33381
|
"typeDescriptions": {
|
|
33382
33382
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -33813,10 +33813,10 @@
|
|
|
33813
33813
|
"name": "ViaToken",
|
|
33814
33814
|
"nodeType": "Identifier",
|
|
33815
33815
|
"overloadedDeclarations": [],
|
|
33816
|
-
"referencedDeclaration":
|
|
33816
|
+
"referencedDeclaration": 14279,
|
|
33817
33817
|
"src": "29403:8:13",
|
|
33818
33818
|
"typeDescriptions": {
|
|
33819
|
-
"typeIdentifier": "t_type$_t_contract$_ViaToken_$
|
|
33819
|
+
"typeIdentifier": "t_type$_t_contract$_ViaToken_$14279_$",
|
|
33820
33820
|
"typeString": "type(contract ViaToken)"
|
|
33821
33821
|
}
|
|
33822
33822
|
},
|
|
@@ -33830,7 +33830,7 @@
|
|
|
33830
33830
|
"nodeType": "FunctionCall",
|
|
33831
33831
|
"src": "29403:23:13",
|
|
33832
33832
|
"typeDescriptions": {
|
|
33833
|
-
"typeIdentifier": "t_contract$_ViaToken_$
|
|
33833
|
+
"typeIdentifier": "t_contract$_ViaToken_$14279",
|
|
33834
33834
|
"typeString": "contract ViaToken"
|
|
33835
33835
|
}
|
|
33836
33836
|
},
|
|
@@ -33841,7 +33841,7 @@
|
|
|
33841
33841
|
"lValueRequested": false,
|
|
33842
33842
|
"memberName": "transferToken",
|
|
33843
33843
|
"nodeType": "MemberAccess",
|
|
33844
|
-
"referencedDeclaration":
|
|
33844
|
+
"referencedDeclaration": 14232,
|
|
33845
33845
|
"src": "29403:37:13",
|
|
33846
33846
|
"typeDescriptions": {
|
|
33847
33847
|
"typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$",
|
|
@@ -34584,7 +34584,7 @@
|
|
|
34584
34584
|
"name": "now",
|
|
34585
34585
|
"nodeType": "Identifier",
|
|
34586
34586
|
"overloadedDeclarations": [],
|
|
34587
|
-
"referencedDeclaration":
|
|
34587
|
+
"referencedDeclaration": 16441,
|
|
34588
34588
|
"src": "30303:3:13",
|
|
34589
34589
|
"typeDescriptions": {
|
|
34590
34590
|
"typeIdentifier": "t_uint256",
|
|
@@ -40036,7 +40036,7 @@
|
|
|
40036
40036
|
"name": "_pause",
|
|
40037
40037
|
"nodeType": "Identifier",
|
|
40038
40038
|
"overloadedDeclarations": [],
|
|
40039
|
-
"referencedDeclaration":
|
|
40039
|
+
"referencedDeclaration": 15896,
|
|
40040
40040
|
"src": "34143:6:13",
|
|
40041
40041
|
"typeDescriptions": {
|
|
40042
40042
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
@@ -40078,7 +40078,7 @@
|
|
|
40078
40078
|
"name": "msg",
|
|
40079
40079
|
"nodeType": "Identifier",
|
|
40080
40080
|
"overloadedDeclarations": [],
|
|
40081
|
-
"referencedDeclaration":
|
|
40081
|
+
"referencedDeclaration": 16439,
|
|
40082
40082
|
"src": "34095:3:13",
|
|
40083
40083
|
"typeDescriptions": {
|
|
40084
40084
|
"typeIdentifier": "t_magic_message",
|
|
@@ -40205,7 +40205,7 @@
|
|
|
40205
40205
|
"name": "_unpause",
|
|
40206
40206
|
"nodeType": "Identifier",
|
|
40207
40207
|
"overloadedDeclarations": [],
|
|
40208
|
-
"referencedDeclaration":
|
|
40208
|
+
"referencedDeclaration": 15907,
|
|
40209
40209
|
"src": "34249:8:13",
|
|
40210
40210
|
"typeDescriptions": {
|
|
40211
40211
|
"typeIdentifier": "t_function_internal_nonpayable$__$returns$__$",
|
|
@@ -40247,7 +40247,7 @@
|
|
|
40247
40247
|
"name": "msg",
|
|
40248
40248
|
"nodeType": "Identifier",
|
|
40249
40249
|
"overloadedDeclarations": [],
|
|
40250
|
-
"referencedDeclaration":
|
|
40250
|
+
"referencedDeclaration": 16439,
|
|
40251
40251
|
"src": "34201:3:13",
|
|
40252
40252
|
"typeDescriptions": {
|
|
40253
40253
|
"typeIdentifier": "t_magic_message",
|
|
@@ -40506,10 +40506,10 @@
|
|
|
40506
40506
|
"name": "require",
|
|
40507
40507
|
"nodeType": "Identifier",
|
|
40508
40508
|
"overloadedDeclarations": [
|
|
40509
|
-
|
|
40510
|
-
|
|
40509
|
+
16442,
|
|
40510
|
+
16443
|
|
40511
40511
|
],
|
|
40512
|
-
"referencedDeclaration":
|
|
40512
|
+
"referencedDeclaration": 16442,
|
|
40513
40513
|
"src": "34347:7:13",
|
|
40514
40514
|
"typeDescriptions": {
|
|
40515
40515
|
"typeIdentifier": "t_function_require_pure$_t_bool_$returns$__$",
|
|
@@ -40756,7 +40756,7 @@
|
|
|
40756
40756
|
},
|
|
40757
40757
|
{
|
|
40758
40758
|
"attributes": {
|
|
40759
|
-
"SourceUnit":
|
|
40759
|
+
"SourceUnit": 14280,
|
|
40760
40760
|
"absolutePath": "project:/contracts/interfaces/ViaToken.sol",
|
|
40761
40761
|
"file": "./interfaces/ViaToken.sol",
|
|
40762
40762
|
"scope": 8871,
|
|
@@ -40771,7 +40771,7 @@
|
|
|
40771
40771
|
},
|
|
40772
40772
|
{
|
|
40773
40773
|
"attributes": {
|
|
40774
|
-
"SourceUnit":
|
|
40774
|
+
"SourceUnit": 16425,
|
|
40775
40775
|
"absolutePath": "project:/contracts/utilities/StringUtils.sol",
|
|
40776
40776
|
"file": "./utilities/StringUtils.sol",
|
|
40777
40777
|
"scope": 8871,
|
|
@@ -40786,7 +40786,7 @@
|
|
|
40786
40786
|
},
|
|
40787
40787
|
{
|
|
40788
40788
|
"attributes": {
|
|
40789
|
-
"SourceUnit":
|
|
40789
|
+
"SourceUnit": 16101,
|
|
40790
40790
|
"absolutePath": "project:/contracts/utilities/PaymentUtils.sol",
|
|
40791
40791
|
"file": "./utilities/PaymentUtils.sol",
|
|
40792
40792
|
"scope": 8871,
|
|
@@ -40801,7 +40801,7 @@
|
|
|
40801
40801
|
},
|
|
40802
40802
|
{
|
|
40803
40803
|
"attributes": {
|
|
40804
|
-
"SourceUnit":
|
|
40804
|
+
"SourceUnit": 15917,
|
|
40805
40805
|
"absolutePath": "project:/contracts/utilities/Pausable.sol",
|
|
40806
40806
|
"file": "./utilities/Pausable.sol",
|
|
40807
40807
|
"scope": 8871,
|
|
@@ -40816,7 +40816,7 @@
|
|
|
40816
40816
|
},
|
|
40817
40817
|
{
|
|
40818
40818
|
"attributes": {
|
|
40819
|
-
"SourceUnit":
|
|
40819
|
+
"SourceUnit": 15878,
|
|
40820
40820
|
"absolutePath": "project:/contracts/utilities/BokkyPooBahsDateTimeLibrary.sol",
|
|
40821
40821
|
"file": "./utilities/BokkyPooBahsDateTimeLibrary.sol",
|
|
40822
40822
|
"scope": 8871,
|
|
@@ -40867,14 +40867,14 @@
|
|
|
40867
40867
|
222,
|
|
40868
40868
|
13665,
|
|
40869
40869
|
13956,
|
|
40870
|
-
|
|
40870
|
+
15916
|
|
40871
40871
|
],
|
|
40872
40872
|
"contractKind": "contract",
|
|
40873
40873
|
"documentation": null,
|
|
40874
40874
|
"fullyImplemented": true,
|
|
40875
40875
|
"linearizedBaseContracts": [
|
|
40876
40876
|
8870,
|
|
40877
|
-
|
|
40877
|
+
15916,
|
|
40878
40878
|
153,
|
|
40879
40879
|
29,
|
|
40880
40880
|
222,
|
|
@@ -40978,7 +40978,7 @@
|
|
|
40978
40978
|
"attributes": {
|
|
40979
40979
|
"contractScope": null,
|
|
40980
40980
|
"name": "Pausable",
|
|
40981
|
-
"referencedDeclaration":
|
|
40981
|
+
"referencedDeclaration": 15916,
|
|
40982
40982
|
"type": "contract Pausable"
|
|
40983
40983
|
},
|
|
40984
40984
|
"id": 6017,
|
|
@@ -40999,7 +40999,7 @@
|
|
|
40999
40999
|
"attributes": {
|
|
41000
41000
|
"contractScope": null,
|
|
41001
41001
|
"name": "stringutils",
|
|
41002
|
-
"referencedDeclaration":
|
|
41002
|
+
"referencedDeclaration": 16424,
|
|
41003
41003
|
"type": "library stringutils"
|
|
41004
41004
|
},
|
|
41005
41005
|
"id": 6019,
|
|
@@ -41020,7 +41020,7 @@
|
|
|
41020
41020
|
"attributes": {
|
|
41021
41021
|
"contractScope": null,
|
|
41022
41022
|
"name": "paymentutils",
|
|
41023
|
-
"referencedDeclaration":
|
|
41023
|
+
"referencedDeclaration": 16100,
|
|
41024
41024
|
"type": "library paymentutils"
|
|
41025
41025
|
},
|
|
41026
41026
|
"id": 6021,
|
|
@@ -41038,7 +41038,7 @@
|
|
|
41038
41038
|
"attributes": {
|
|
41039
41039
|
"contractScope": null,
|
|
41040
41040
|
"name": "BokkyPooBahsDateTimeLibrary",
|
|
41041
|
-
"referencedDeclaration":
|
|
41041
|
+
"referencedDeclaration": 15877,
|
|
41042
41042
|
"type": "library BokkyPooBahsDateTimeLibrary"
|
|
41043
41043
|
},
|
|
41044
41044
|
"id": 6023,
|
|
@@ -42915,7 +42915,7 @@
|
|
|
42915
42915
|
"overloadedDeclarations": [
|
|
42916
42916
|
null
|
|
42917
42917
|
],
|
|
42918
|
-
"referencedDeclaration":
|
|
42918
|
+
"referencedDeclaration": 16439,
|
|
42919
42919
|
"type": "msg",
|
|
42920
42920
|
"value": "msg"
|
|
42921
42921
|
},
|
|
@@ -43132,7 +43132,7 @@
|
|
|
43132
43132
|
"overloadedDeclarations": [
|
|
43133
43133
|
null
|
|
43134
43134
|
],
|
|
43135
|
-
"referencedDeclaration":
|
|
43135
|
+
"referencedDeclaration": 16426,
|
|
43136
43136
|
"type": "abi",
|
|
43137
43137
|
"value": "abi"
|
|
43138
43138
|
},
|
|
@@ -43238,7 +43238,7 @@
|
|
|
43238
43238
|
"isPure": false,
|
|
43239
43239
|
"lValueRequested": false,
|
|
43240
43240
|
"member_name": "substring",
|
|
43241
|
-
"referencedDeclaration":
|
|
43241
|
+
"referencedDeclaration": 16247,
|
|
43242
43242
|
"type": "function (bytes32,uint256,uint256) pure returns (string memory)"
|
|
43243
43243
|
},
|
|
43244
43244
|
"children": [
|
|
@@ -43632,10 +43632,10 @@
|
|
|
43632
43632
|
}
|
|
43633
43633
|
],
|
|
43634
43634
|
"overloadedDeclarations": [
|
|
43635
|
-
|
|
43636
|
-
|
|
43635
|
+
16442,
|
|
43636
|
+
16443
|
|
43637
43637
|
],
|
|
43638
|
-
"referencedDeclaration":
|
|
43638
|
+
"referencedDeclaration": 16442,
|
|
43639
43639
|
"type": "function (bool) pure",
|
|
43640
43640
|
"value": "require"
|
|
43641
43641
|
},
|
|
@@ -43676,7 +43676,7 @@
|
|
|
43676
43676
|
"overloadedDeclarations": [
|
|
43677
43677
|
null
|
|
43678
43678
|
],
|
|
43679
|
-
"referencedDeclaration":
|
|
43679
|
+
"referencedDeclaration": 16439,
|
|
43680
43680
|
"type": "msg",
|
|
43681
43681
|
"value": "msg"
|
|
43682
43682
|
},
|
|
@@ -43747,10 +43747,10 @@
|
|
|
43747
43747
|
}
|
|
43748
43748
|
],
|
|
43749
43749
|
"overloadedDeclarations": [
|
|
43750
|
-
|
|
43751
|
-
|
|
43750
|
+
16442,
|
|
43751
|
+
16443
|
|
43752
43752
|
],
|
|
43753
|
-
"referencedDeclaration":
|
|
43753
|
+
"referencedDeclaration": 16442,
|
|
43754
43754
|
"type": "function (bool) pure",
|
|
43755
43755
|
"value": "require"
|
|
43756
43756
|
},
|
|
@@ -43803,7 +43803,7 @@
|
|
|
43803
43803
|
"overloadedDeclarations": [
|
|
43804
43804
|
null
|
|
43805
43805
|
],
|
|
43806
|
-
"referencedDeclaration":
|
|
43806
|
+
"referencedDeclaration": 16439,
|
|
43807
43807
|
"type": "msg",
|
|
43808
43808
|
"value": "msg"
|
|
43809
43809
|
},
|
|
@@ -43879,10 +43879,10 @@
|
|
|
43879
43879
|
}
|
|
43880
43880
|
],
|
|
43881
43881
|
"overloadedDeclarations": [
|
|
43882
|
-
|
|
43883
|
-
|
|
43882
|
+
16442,
|
|
43883
|
+
16443
|
|
43884
43884
|
],
|
|
43885
|
-
"referencedDeclaration":
|
|
43885
|
+
"referencedDeclaration": 16442,
|
|
43886
43886
|
"type": "function (bool) pure",
|
|
43887
43887
|
"value": "require"
|
|
43888
43888
|
},
|
|
@@ -43911,7 +43911,7 @@
|
|
|
43911
43911
|
"overloadedDeclarations": [
|
|
43912
43912
|
null
|
|
43913
43913
|
],
|
|
43914
|
-
"referencedDeclaration":
|
|
43914
|
+
"referencedDeclaration": 15881,
|
|
43915
43915
|
"type": "bool",
|
|
43916
43916
|
"value": "paused"
|
|
43917
43917
|
},
|
|
@@ -43977,10 +43977,10 @@
|
|
|
43977
43977
|
}
|
|
43978
43978
|
],
|
|
43979
43979
|
"overloadedDeclarations": [
|
|
43980
|
-
|
|
43981
|
-
|
|
43980
|
+
16442,
|
|
43981
|
+
16443
|
|
43982
43982
|
],
|
|
43983
|
-
"referencedDeclaration":
|
|
43983
|
+
"referencedDeclaration": 16442,
|
|
43984
43984
|
"type": "function (bool) pure",
|
|
43985
43985
|
"value": "require"
|
|
43986
43986
|
},
|
|
@@ -44055,7 +44055,7 @@
|
|
|
44055
44055
|
"overloadedDeclarations": [
|
|
44056
44056
|
null
|
|
44057
44057
|
],
|
|
44058
|
-
"referencedDeclaration":
|
|
44058
|
+
"referencedDeclaration": 16439,
|
|
44059
44059
|
"type": "msg",
|
|
44060
44060
|
"value": "msg"
|
|
44061
44061
|
},
|
|
@@ -44222,7 +44222,7 @@
|
|
|
44222
44222
|
"overloadedDeclarations": [
|
|
44223
44223
|
null
|
|
44224
44224
|
],
|
|
44225
|
-
"referencedDeclaration":
|
|
44225
|
+
"referencedDeclaration": 16439,
|
|
44226
44226
|
"type": "msg",
|
|
44227
44227
|
"value": "msg"
|
|
44228
44228
|
},
|
|
@@ -44258,7 +44258,7 @@
|
|
|
44258
44258
|
"overloadedDeclarations": [
|
|
44259
44259
|
null
|
|
44260
44260
|
],
|
|
44261
|
-
"referencedDeclaration":
|
|
44261
|
+
"referencedDeclaration": 16439,
|
|
44262
44262
|
"type": "msg",
|
|
44263
44263
|
"value": "msg"
|
|
44264
44264
|
},
|
|
@@ -44328,7 +44328,7 @@
|
|
|
44328
44328
|
"overloadedDeclarations": [
|
|
44329
44329
|
null
|
|
44330
44330
|
],
|
|
44331
|
-
"referencedDeclaration":
|
|
44331
|
+
"referencedDeclaration": 16503,
|
|
44332
44332
|
"type": "contract Bond",
|
|
44333
44333
|
"value": "this"
|
|
44334
44334
|
},
|
|
@@ -44552,10 +44552,10 @@
|
|
|
44552
44552
|
}
|
|
44553
44553
|
],
|
|
44554
44554
|
"overloadedDeclarations": [
|
|
44555
|
-
|
|
44556
|
-
|
|
44555
|
+
16442,
|
|
44556
|
+
16443
|
|
44557
44557
|
],
|
|
44558
|
-
"referencedDeclaration":
|
|
44558
|
+
"referencedDeclaration": 16442,
|
|
44559
44559
|
"type": "function (bool) pure",
|
|
44560
44560
|
"value": "require"
|
|
44561
44561
|
},
|
|
@@ -44584,7 +44584,7 @@
|
|
|
44584
44584
|
"overloadedDeclarations": [
|
|
44585
44585
|
null
|
|
44586
44586
|
],
|
|
44587
|
-
"referencedDeclaration":
|
|
44587
|
+
"referencedDeclaration": 15881,
|
|
44588
44588
|
"type": "bool",
|
|
44589
44589
|
"value": "paused"
|
|
44590
44590
|
},
|
|
@@ -44650,10 +44650,10 @@
|
|
|
44650
44650
|
}
|
|
44651
44651
|
],
|
|
44652
44652
|
"overloadedDeclarations": [
|
|
44653
|
-
|
|
44654
|
-
|
|
44653
|
+
16442,
|
|
44654
|
+
16443
|
|
44655
44655
|
],
|
|
44656
|
-
"referencedDeclaration":
|
|
44656
|
+
"referencedDeclaration": 16442,
|
|
44657
44657
|
"type": "function (bool) pure",
|
|
44658
44658
|
"value": "require"
|
|
44659
44659
|
},
|
|
@@ -44787,10 +44787,10 @@
|
|
|
44787
44787
|
}
|
|
44788
44788
|
],
|
|
44789
44789
|
"overloadedDeclarations": [
|
|
44790
|
-
|
|
44791
|
-
|
|
44790
|
+
16442,
|
|
44791
|
+
16443
|
|
44792
44792
|
],
|
|
44793
|
-
"referencedDeclaration":
|
|
44793
|
+
"referencedDeclaration": 16442,
|
|
44794
44794
|
"type": "function (bool) pure",
|
|
44795
44795
|
"value": "require"
|
|
44796
44796
|
},
|
|
@@ -44984,7 +44984,7 @@
|
|
|
44984
44984
|
"overloadedDeclarations": [
|
|
44985
44985
|
null
|
|
44986
44986
|
],
|
|
44987
|
-
"referencedDeclaration":
|
|
44987
|
+
"referencedDeclaration": 16503,
|
|
44988
44988
|
"type": "contract Bond",
|
|
44989
44989
|
"value": "this"
|
|
44990
44990
|
},
|
|
@@ -46016,7 +46016,7 @@
|
|
|
46016
46016
|
"isPure": false,
|
|
46017
46017
|
"lValueRequested": false,
|
|
46018
46018
|
"member_name": "transferToken",
|
|
46019
|
-
"referencedDeclaration":
|
|
46019
|
+
"referencedDeclaration": 14232,
|
|
46020
46020
|
"type": "function (address,address,uint256) external returns (bool)"
|
|
46021
46021
|
},
|
|
46022
46022
|
"children": [
|
|
@@ -46046,7 +46046,7 @@
|
|
|
46046
46046
|
"overloadedDeclarations": [
|
|
46047
46047
|
null
|
|
46048
46048
|
],
|
|
46049
|
-
"referencedDeclaration":
|
|
46049
|
+
"referencedDeclaration": 14279,
|
|
46050
46050
|
"type": "type(contract ViaToken)",
|
|
46051
46051
|
"value": "ViaToken"
|
|
46052
46052
|
},
|
|
@@ -47845,10 +47845,10 @@
|
|
|
47845
47845
|
}
|
|
47846
47846
|
],
|
|
47847
47847
|
"overloadedDeclarations": [
|
|
47848
|
-
|
|
47849
|
-
|
|
47848
|
+
16442,
|
|
47849
|
+
16443
|
|
47850
47850
|
],
|
|
47851
|
-
"referencedDeclaration":
|
|
47851
|
+
"referencedDeclaration": 16442,
|
|
47852
47852
|
"type": "function (bool) pure",
|
|
47853
47853
|
"value": "require"
|
|
47854
47854
|
},
|
|
@@ -47877,7 +47877,7 @@
|
|
|
47877
47877
|
"overloadedDeclarations": [
|
|
47878
47878
|
null
|
|
47879
47879
|
],
|
|
47880
|
-
"referencedDeclaration":
|
|
47880
|
+
"referencedDeclaration": 15881,
|
|
47881
47881
|
"type": "bool",
|
|
47882
47882
|
"value": "paused"
|
|
47883
47883
|
},
|
|
@@ -47943,10 +47943,10 @@
|
|
|
47943
47943
|
}
|
|
47944
47944
|
],
|
|
47945
47945
|
"overloadedDeclarations": [
|
|
47946
|
-
|
|
47947
|
-
|
|
47946
|
+
16442,
|
|
47947
|
+
16443
|
|
47948
47948
|
],
|
|
47949
|
-
"referencedDeclaration":
|
|
47949
|
+
"referencedDeclaration": 16442,
|
|
47950
47950
|
"type": "function (bool) pure",
|
|
47951
47951
|
"value": "require"
|
|
47952
47952
|
},
|
|
@@ -48038,10 +48038,10 @@
|
|
|
48038
48038
|
}
|
|
48039
48039
|
],
|
|
48040
48040
|
"overloadedDeclarations": [
|
|
48041
|
-
|
|
48042
|
-
|
|
48041
|
+
16442,
|
|
48042
|
+
16443
|
|
48043
48043
|
],
|
|
48044
|
-
"referencedDeclaration":
|
|
48044
|
+
"referencedDeclaration": 16442,
|
|
48045
48045
|
"type": "function (bool) pure",
|
|
48046
48046
|
"value": "require"
|
|
48047
48047
|
},
|
|
@@ -48175,10 +48175,10 @@
|
|
|
48175
48175
|
}
|
|
48176
48176
|
],
|
|
48177
48177
|
"overloadedDeclarations": [
|
|
48178
|
-
|
|
48179
|
-
|
|
48178
|
+
16442,
|
|
48179
|
+
16443
|
|
48180
48180
|
],
|
|
48181
|
-
"referencedDeclaration":
|
|
48181
|
+
"referencedDeclaration": 16442,
|
|
48182
48182
|
"type": "function (bool) pure",
|
|
48183
48183
|
"value": "require"
|
|
48184
48184
|
},
|
|
@@ -48270,7 +48270,7 @@
|
|
|
48270
48270
|
"overloadedDeclarations": [
|
|
48271
48271
|
null
|
|
48272
48272
|
],
|
|
48273
|
-
"referencedDeclaration":
|
|
48273
|
+
"referencedDeclaration": 16439,
|
|
48274
48274
|
"type": "msg",
|
|
48275
48275
|
"value": "msg"
|
|
48276
48276
|
},
|
|
@@ -48653,10 +48653,10 @@
|
|
|
48653
48653
|
}
|
|
48654
48654
|
],
|
|
48655
48655
|
"overloadedDeclarations": [
|
|
48656
|
-
|
|
48657
|
-
|
|
48656
|
+
16442,
|
|
48657
|
+
16443
|
|
48658
48658
|
],
|
|
48659
|
-
"referencedDeclaration":
|
|
48659
|
+
"referencedDeclaration": 16442,
|
|
48660
48660
|
"type": "function (bool) pure",
|
|
48661
48661
|
"value": "require"
|
|
48662
48662
|
},
|
|
@@ -49523,7 +49523,7 @@
|
|
|
49523
49523
|
"overloadedDeclarations": [
|
|
49524
49524
|
null
|
|
49525
49525
|
],
|
|
49526
|
-
"referencedDeclaration":
|
|
49526
|
+
"referencedDeclaration": 16503,
|
|
49527
49527
|
"type": "contract Bond",
|
|
49528
49528
|
"value": "this"
|
|
49529
49529
|
},
|
|
@@ -49684,7 +49684,7 @@
|
|
|
49684
49684
|
"overloadedDeclarations": [
|
|
49685
49685
|
null
|
|
49686
49686
|
],
|
|
49687
|
-
"referencedDeclaration":
|
|
49687
|
+
"referencedDeclaration": 16426,
|
|
49688
49688
|
"type": "abi",
|
|
49689
49689
|
"value": "abi"
|
|
49690
49690
|
},
|
|
@@ -49807,7 +49807,7 @@
|
|
|
49807
49807
|
"overloadedDeclarations": [
|
|
49808
49808
|
null
|
|
49809
49809
|
],
|
|
49810
|
-
"referencedDeclaration":
|
|
49810
|
+
"referencedDeclaration": 16503,
|
|
49811
49811
|
"type": "contract Bond",
|
|
49812
49812
|
"value": "this"
|
|
49813
49813
|
},
|
|
@@ -50787,7 +50787,7 @@
|
|
|
50787
50787
|
"overloadedDeclarations": [
|
|
50788
50788
|
null
|
|
50789
50789
|
],
|
|
50790
|
-
"referencedDeclaration":
|
|
50790
|
+
"referencedDeclaration": 16503,
|
|
50791
50791
|
"type": "contract Bond",
|
|
50792
50792
|
"value": "this"
|
|
50793
50793
|
},
|
|
@@ -51586,7 +51586,7 @@
|
|
|
51586
51586
|
"overloadedDeclarations": [
|
|
51587
51587
|
null
|
|
51588
51588
|
],
|
|
51589
|
-
"referencedDeclaration":
|
|
51589
|
+
"referencedDeclaration": 16426,
|
|
51590
51590
|
"type": "abi",
|
|
51591
51591
|
"value": "abi"
|
|
51592
51592
|
},
|
|
@@ -51631,7 +51631,7 @@
|
|
|
51631
51631
|
"isPure": false,
|
|
51632
51632
|
"lValueRequested": false,
|
|
51633
51633
|
"member_name": "substring",
|
|
51634
|
-
"referencedDeclaration":
|
|
51634
|
+
"referencedDeclaration": 16247,
|
|
51635
51635
|
"type": "function (bytes32,uint256,uint256) pure returns (string memory)"
|
|
51636
51636
|
},
|
|
51637
51637
|
"children": [
|
|
@@ -51803,7 +51803,7 @@
|
|
|
51803
51803
|
"overloadedDeclarations": [
|
|
51804
51804
|
null
|
|
51805
51805
|
],
|
|
51806
|
-
"referencedDeclaration":
|
|
51806
|
+
"referencedDeclaration": 16503,
|
|
51807
51807
|
"type": "contract Bond",
|
|
51808
51808
|
"value": "this"
|
|
51809
51809
|
},
|
|
@@ -52675,10 +52675,10 @@
|
|
|
52675
52675
|
}
|
|
52676
52676
|
],
|
|
52677
52677
|
"overloadedDeclarations": [
|
|
52678
|
-
|
|
52679
|
-
|
|
52678
|
+
16442,
|
|
52679
|
+
16443
|
|
52680
52680
|
],
|
|
52681
|
-
"referencedDeclaration":
|
|
52681
|
+
"referencedDeclaration": 16442,
|
|
52682
52682
|
"type": "function (bool) pure",
|
|
52683
52683
|
"value": "require"
|
|
52684
52684
|
},
|
|
@@ -52707,7 +52707,7 @@
|
|
|
52707
52707
|
"overloadedDeclarations": [
|
|
52708
52708
|
null
|
|
52709
52709
|
],
|
|
52710
|
-
"referencedDeclaration":
|
|
52710
|
+
"referencedDeclaration": 15881,
|
|
52711
52711
|
"type": "bool",
|
|
52712
52712
|
"value": "paused"
|
|
52713
52713
|
},
|
|
@@ -52773,10 +52773,10 @@
|
|
|
52773
52773
|
}
|
|
52774
52774
|
],
|
|
52775
52775
|
"overloadedDeclarations": [
|
|
52776
|
-
|
|
52777
|
-
|
|
52776
|
+
16442,
|
|
52777
|
+
16443
|
|
52778
52778
|
],
|
|
52779
|
-
"referencedDeclaration":
|
|
52779
|
+
"referencedDeclaration": 16442,
|
|
52780
52780
|
"type": "function (bool) pure",
|
|
52781
52781
|
"value": "require"
|
|
52782
52782
|
},
|
|
@@ -52910,10 +52910,10 @@
|
|
|
52910
52910
|
}
|
|
52911
52911
|
],
|
|
52912
52912
|
"overloadedDeclarations": [
|
|
52913
|
-
|
|
52914
|
-
|
|
52913
|
+
16442,
|
|
52914
|
+
16443
|
|
52915
52915
|
],
|
|
52916
|
-
"referencedDeclaration":
|
|
52916
|
+
"referencedDeclaration": 16442,
|
|
52917
52917
|
"type": "function (bool) pure",
|
|
52918
52918
|
"value": "require"
|
|
52919
52919
|
},
|
|
@@ -53005,7 +53005,7 @@
|
|
|
53005
53005
|
"overloadedDeclarations": [
|
|
53006
53006
|
null
|
|
53007
53007
|
],
|
|
53008
|
-
"referencedDeclaration":
|
|
53008
|
+
"referencedDeclaration": 16439,
|
|
53009
53009
|
"type": "msg",
|
|
53010
53010
|
"value": "msg"
|
|
53011
53011
|
},
|
|
@@ -53081,10 +53081,10 @@
|
|
|
53081
53081
|
}
|
|
53082
53082
|
],
|
|
53083
53083
|
"overloadedDeclarations": [
|
|
53084
|
-
|
|
53085
|
-
|
|
53084
|
+
16442,
|
|
53085
|
+
16443
|
|
53086
53086
|
],
|
|
53087
|
-
"referencedDeclaration":
|
|
53087
|
+
"referencedDeclaration": 16442,
|
|
53088
53088
|
"type": "function (bool) pure",
|
|
53089
53089
|
"value": "require"
|
|
53090
53090
|
},
|
|
@@ -53349,7 +53349,7 @@
|
|
|
53349
53349
|
"overloadedDeclarations": [
|
|
53350
53350
|
null
|
|
53351
53351
|
],
|
|
53352
|
-
"referencedDeclaration":
|
|
53352
|
+
"referencedDeclaration": 16439,
|
|
53353
53353
|
"type": "msg",
|
|
53354
53354
|
"value": "msg"
|
|
53355
53355
|
},
|
|
@@ -53604,10 +53604,10 @@
|
|
|
53604
53604
|
}
|
|
53605
53605
|
],
|
|
53606
53606
|
"overloadedDeclarations": [
|
|
53607
|
-
|
|
53608
|
-
|
|
53607
|
+
16442,
|
|
53608
|
+
16443
|
|
53609
53609
|
],
|
|
53610
|
-
"referencedDeclaration":
|
|
53610
|
+
"referencedDeclaration": 16442,
|
|
53611
53611
|
"type": "function (bool) pure",
|
|
53612
53612
|
"value": "require"
|
|
53613
53613
|
},
|
|
@@ -54058,7 +54058,7 @@
|
|
|
54058
54058
|
"overloadedDeclarations": [
|
|
54059
54059
|
null
|
|
54060
54060
|
],
|
|
54061
|
-
"referencedDeclaration":
|
|
54061
|
+
"referencedDeclaration": 16426,
|
|
54062
54062
|
"type": "abi",
|
|
54063
54063
|
"value": "abi"
|
|
54064
54064
|
},
|
|
@@ -54103,7 +54103,7 @@
|
|
|
54103
54103
|
"isPure": false,
|
|
54104
54104
|
"lValueRequested": false,
|
|
54105
54105
|
"member_name": "substring",
|
|
54106
|
-
"referencedDeclaration":
|
|
54106
|
+
"referencedDeclaration": 16247,
|
|
54107
54107
|
"type": "function (bytes32,uint256,uint256) pure returns (string memory)"
|
|
54108
54108
|
},
|
|
54109
54109
|
"children": [
|
|
@@ -54275,7 +54275,7 @@
|
|
|
54275
54275
|
"overloadedDeclarations": [
|
|
54276
54276
|
null
|
|
54277
54277
|
],
|
|
54278
|
-
"referencedDeclaration":
|
|
54278
|
+
"referencedDeclaration": 16503,
|
|
54279
54279
|
"type": "contract Bond",
|
|
54280
54280
|
"value": "this"
|
|
54281
54281
|
},
|
|
@@ -54440,7 +54440,7 @@
|
|
|
54440
54440
|
"overloadedDeclarations": [
|
|
54441
54441
|
null
|
|
54442
54442
|
],
|
|
54443
|
-
"referencedDeclaration":
|
|
54443
|
+
"referencedDeclaration": 16426,
|
|
54444
54444
|
"type": "abi",
|
|
54445
54445
|
"value": "abi"
|
|
54446
54446
|
},
|
|
@@ -54485,7 +54485,7 @@
|
|
|
54485
54485
|
"isPure": false,
|
|
54486
54486
|
"lValueRequested": false,
|
|
54487
54487
|
"member_name": "substring",
|
|
54488
|
-
"referencedDeclaration":
|
|
54488
|
+
"referencedDeclaration": 16247,
|
|
54489
54489
|
"type": "function (bytes32,uint256,uint256) pure returns (string memory)"
|
|
54490
54490
|
},
|
|
54491
54491
|
"children": [
|
|
@@ -54657,7 +54657,7 @@
|
|
|
54657
54657
|
"overloadedDeclarations": [
|
|
54658
54658
|
null
|
|
54659
54659
|
],
|
|
54660
|
-
"referencedDeclaration":
|
|
54660
|
+
"referencedDeclaration": 16503,
|
|
54661
54661
|
"type": "contract Bond",
|
|
54662
54662
|
"value": "this"
|
|
54663
54663
|
},
|
|
@@ -55596,7 +55596,7 @@
|
|
|
55596
55596
|
"overloadedDeclarations": [
|
|
55597
55597
|
null
|
|
55598
55598
|
],
|
|
55599
|
-
"referencedDeclaration":
|
|
55599
|
+
"referencedDeclaration": 16426,
|
|
55600
55600
|
"type": "abi",
|
|
55601
55601
|
"value": "abi"
|
|
55602
55602
|
},
|
|
@@ -55641,7 +55641,7 @@
|
|
|
55641
55641
|
"isPure": false,
|
|
55642
55642
|
"lValueRequested": false,
|
|
55643
55643
|
"member_name": "substring",
|
|
55644
|
-
"referencedDeclaration":
|
|
55644
|
+
"referencedDeclaration": 16247,
|
|
55645
55645
|
"type": "function (bytes32,uint256,uint256) pure returns (string memory)"
|
|
55646
55646
|
},
|
|
55647
55647
|
"children": [
|
|
@@ -55782,7 +55782,7 @@
|
|
|
55782
55782
|
"overloadedDeclarations": [
|
|
55783
55783
|
null
|
|
55784
55784
|
],
|
|
55785
|
-
"referencedDeclaration":
|
|
55785
|
+
"referencedDeclaration": 16503,
|
|
55786
55786
|
"type": "contract Bond",
|
|
55787
55787
|
"value": "this"
|
|
55788
55788
|
},
|
|
@@ -56722,10 +56722,10 @@
|
|
|
56722
56722
|
}
|
|
56723
56723
|
],
|
|
56724
56724
|
"overloadedDeclarations": [
|
|
56725
|
-
|
|
56726
|
-
|
|
56725
|
+
16442,
|
|
56726
|
+
16443
|
|
56727
56727
|
],
|
|
56728
|
-
"referencedDeclaration":
|
|
56728
|
+
"referencedDeclaration": 16442,
|
|
56729
56729
|
"type": "function (bool) pure",
|
|
56730
56730
|
"value": "require"
|
|
56731
56731
|
},
|
|
@@ -56754,7 +56754,7 @@
|
|
|
56754
56754
|
"overloadedDeclarations": [
|
|
56755
56755
|
null
|
|
56756
56756
|
],
|
|
56757
|
-
"referencedDeclaration":
|
|
56757
|
+
"referencedDeclaration": 15881,
|
|
56758
56758
|
"type": "bool",
|
|
56759
56759
|
"value": "paused"
|
|
56760
56760
|
},
|
|
@@ -56820,10 +56820,10 @@
|
|
|
56820
56820
|
}
|
|
56821
56821
|
],
|
|
56822
56822
|
"overloadedDeclarations": [
|
|
56823
|
-
|
|
56824
|
-
|
|
56823
|
+
16442,
|
|
56824
|
+
16443
|
|
56825
56825
|
],
|
|
56826
|
-
"referencedDeclaration":
|
|
56826
|
+
"referencedDeclaration": 16442,
|
|
56827
56827
|
"type": "function (bool) pure",
|
|
56828
56828
|
"value": "require"
|
|
56829
56829
|
},
|
|
@@ -56957,10 +56957,10 @@
|
|
|
56957
56957
|
}
|
|
56958
56958
|
],
|
|
56959
56959
|
"overloadedDeclarations": [
|
|
56960
|
-
|
|
56961
|
-
|
|
56960
|
+
16442,
|
|
56961
|
+
16443
|
|
56962
56962
|
],
|
|
56963
|
-
"referencedDeclaration":
|
|
56963
|
+
"referencedDeclaration": 16442,
|
|
56964
56964
|
"type": "function (bool) pure",
|
|
56965
56965
|
"value": "require"
|
|
56966
56966
|
},
|
|
@@ -57052,7 +57052,7 @@
|
|
|
57052
57052
|
"overloadedDeclarations": [
|
|
57053
57053
|
null
|
|
57054
57054
|
],
|
|
57055
|
-
"referencedDeclaration":
|
|
57055
|
+
"referencedDeclaration": 16439,
|
|
57056
57056
|
"type": "msg",
|
|
57057
57057
|
"value": "msg"
|
|
57058
57058
|
},
|
|
@@ -57883,7 +57883,7 @@
|
|
|
57883
57883
|
"overloadedDeclarations": [
|
|
57884
57884
|
null
|
|
57885
57885
|
],
|
|
57886
|
-
"referencedDeclaration":
|
|
57886
|
+
"referencedDeclaration": 16441,
|
|
57887
57887
|
"type": "uint256",
|
|
57888
57888
|
"value": "now"
|
|
57889
57889
|
},
|
|
@@ -57923,7 +57923,7 @@
|
|
|
57923
57923
|
"isPure": false,
|
|
57924
57924
|
"lValueRequested": false,
|
|
57925
57925
|
"member_name": "addSeconds",
|
|
57926
|
-
"referencedDeclaration":
|
|
57926
|
+
"referencedDeclaration": 15390,
|
|
57927
57927
|
"type": "function (uint256,uint256) pure returns (uint256)"
|
|
57928
57928
|
},
|
|
57929
57929
|
"children": [
|
|
@@ -57933,7 +57933,7 @@
|
|
|
57933
57933
|
"overloadedDeclarations": [
|
|
57934
57934
|
null
|
|
57935
57935
|
],
|
|
57936
|
-
"referencedDeclaration":
|
|
57936
|
+
"referencedDeclaration": 15877,
|
|
57937
57937
|
"type": "type(library BokkyPooBahsDateTimeLibrary)",
|
|
57938
57938
|
"value": "BokkyPooBahsDateTimeLibrary"
|
|
57939
57939
|
},
|
|
@@ -58651,10 +58651,10 @@
|
|
|
58651
58651
|
}
|
|
58652
58652
|
],
|
|
58653
58653
|
"overloadedDeclarations": [
|
|
58654
|
-
|
|
58655
|
-
|
|
58654
|
+
16442,
|
|
58655
|
+
16443
|
|
58656
58656
|
],
|
|
58657
|
-
"referencedDeclaration":
|
|
58657
|
+
"referencedDeclaration": 16442,
|
|
58658
58658
|
"type": "function (bool) pure",
|
|
58659
58659
|
"value": "require"
|
|
58660
58660
|
},
|
|
@@ -59574,7 +59574,7 @@
|
|
|
59574
59574
|
"isPure": false,
|
|
59575
59575
|
"lValueRequested": false,
|
|
59576
59576
|
"member_name": "reduceSupply",
|
|
59577
|
-
"referencedDeclaration":
|
|
59577
|
+
"referencedDeclaration": 14237,
|
|
59578
59578
|
"type": "function (bytes16) external"
|
|
59579
59579
|
},
|
|
59580
59580
|
"children": [
|
|
@@ -59604,7 +59604,7 @@
|
|
|
59604
59604
|
"overloadedDeclarations": [
|
|
59605
59605
|
null
|
|
59606
59606
|
],
|
|
59607
|
-
"referencedDeclaration":
|
|
59607
|
+
"referencedDeclaration": 14279,
|
|
59608
59608
|
"type": "type(contract ViaToken)",
|
|
59609
59609
|
"value": "ViaToken"
|
|
59610
59610
|
},
|
|
@@ -59819,7 +59819,7 @@
|
|
|
59819
59819
|
"isPure": false,
|
|
59820
59820
|
"lValueRequested": false,
|
|
59821
59821
|
"member_name": "reduceBalance",
|
|
59822
|
-
"referencedDeclaration":
|
|
59822
|
+
"referencedDeclaration": 14244,
|
|
59823
59823
|
"type": "function (address,bytes16) external"
|
|
59824
59824
|
},
|
|
59825
59825
|
"children": [
|
|
@@ -59849,7 +59849,7 @@
|
|
|
59849
59849
|
"overloadedDeclarations": [
|
|
59850
59850
|
null
|
|
59851
59851
|
],
|
|
59852
|
-
"referencedDeclaration":
|
|
59852
|
+
"referencedDeclaration": 14279,
|
|
59853
59853
|
"type": "type(contract ViaToken)",
|
|
59854
59854
|
"value": "ViaToken"
|
|
59855
59855
|
},
|
|
@@ -62298,10 +62298,10 @@
|
|
|
62298
62298
|
}
|
|
62299
62299
|
],
|
|
62300
62300
|
"overloadedDeclarations": [
|
|
62301
|
-
|
|
62302
|
-
|
|
62301
|
+
16442,
|
|
62302
|
+
16443
|
|
62303
62303
|
],
|
|
62304
|
-
"referencedDeclaration":
|
|
62304
|
+
"referencedDeclaration": 16442,
|
|
62305
62305
|
"type": "function (bool) pure",
|
|
62306
62306
|
"value": "require"
|
|
62307
62307
|
},
|
|
@@ -63853,7 +63853,7 @@
|
|
|
63853
63853
|
"isPure": false,
|
|
63854
63854
|
"lValueRequested": false,
|
|
63855
63855
|
"member_name": "reduceSupply",
|
|
63856
|
-
"referencedDeclaration":
|
|
63856
|
+
"referencedDeclaration": 14237,
|
|
63857
63857
|
"type": "function (bytes16) external"
|
|
63858
63858
|
},
|
|
63859
63859
|
"children": [
|
|
@@ -63883,7 +63883,7 @@
|
|
|
63883
63883
|
"overloadedDeclarations": [
|
|
63884
63884
|
null
|
|
63885
63885
|
],
|
|
63886
|
-
"referencedDeclaration":
|
|
63886
|
+
"referencedDeclaration": 14279,
|
|
63887
63887
|
"type": "type(contract ViaToken)",
|
|
63888
63888
|
"value": "ViaToken"
|
|
63889
63889
|
},
|
|
@@ -64098,7 +64098,7 @@
|
|
|
64098
64098
|
"isPure": false,
|
|
64099
64099
|
"lValueRequested": false,
|
|
64100
64100
|
"member_name": "reduceBalance",
|
|
64101
|
-
"referencedDeclaration":
|
|
64101
|
+
"referencedDeclaration": 14244,
|
|
64102
64102
|
"type": "function (address,bytes16) external"
|
|
64103
64103
|
},
|
|
64104
64104
|
"children": [
|
|
@@ -64128,7 +64128,7 @@
|
|
|
64128
64128
|
"overloadedDeclarations": [
|
|
64129
64129
|
null
|
|
64130
64130
|
],
|
|
64131
|
-
"referencedDeclaration":
|
|
64131
|
+
"referencedDeclaration": 14279,
|
|
64132
64132
|
"type": "type(contract ViaToken)",
|
|
64133
64133
|
"value": "ViaToken"
|
|
64134
64134
|
},
|
|
@@ -65342,7 +65342,7 @@
|
|
|
65342
65342
|
"overloadedDeclarations": [
|
|
65343
65343
|
null
|
|
65344
65344
|
],
|
|
65345
|
-
"referencedDeclaration":
|
|
65345
|
+
"referencedDeclaration": 16441,
|
|
65346
65346
|
"type": "uint256",
|
|
65347
65347
|
"value": "now"
|
|
65348
65348
|
},
|
|
@@ -65382,7 +65382,7 @@
|
|
|
65382
65382
|
"isPure": false,
|
|
65383
65383
|
"lValueRequested": false,
|
|
65384
65384
|
"member_name": "addSeconds",
|
|
65385
|
-
"referencedDeclaration":
|
|
65385
|
+
"referencedDeclaration": 15390,
|
|
65386
65386
|
"type": "function (uint256,uint256) pure returns (uint256)"
|
|
65387
65387
|
},
|
|
65388
65388
|
"children": [
|
|
@@ -65392,7 +65392,7 @@
|
|
|
65392
65392
|
"overloadedDeclarations": [
|
|
65393
65393
|
null
|
|
65394
65394
|
],
|
|
65395
|
-
"referencedDeclaration":
|
|
65395
|
+
"referencedDeclaration": 15877,
|
|
65396
65396
|
"type": "type(library BokkyPooBahsDateTimeLibrary)",
|
|
65397
65397
|
"value": "BokkyPooBahsDateTimeLibrary"
|
|
65398
65398
|
},
|
|
@@ -66841,10 +66841,10 @@
|
|
|
66841
66841
|
}
|
|
66842
66842
|
],
|
|
66843
66843
|
"overloadedDeclarations": [
|
|
66844
|
-
|
|
66845
|
-
|
|
66844
|
+
16442,
|
|
66845
|
+
16443
|
|
66846
66846
|
],
|
|
66847
|
-
"referencedDeclaration":
|
|
66847
|
+
"referencedDeclaration": 16442,
|
|
66848
66848
|
"type": "function (bool) pure",
|
|
66849
66849
|
"value": "require"
|
|
66850
66850
|
},
|
|
@@ -67499,7 +67499,7 @@
|
|
|
67499
67499
|
"isPure": false,
|
|
67500
67500
|
"lValueRequested": false,
|
|
67501
67501
|
"member_name": "reduceSupply",
|
|
67502
|
-
"referencedDeclaration":
|
|
67502
|
+
"referencedDeclaration": 14237,
|
|
67503
67503
|
"type": "function (bytes16) external"
|
|
67504
67504
|
},
|
|
67505
67505
|
"children": [
|
|
@@ -67529,7 +67529,7 @@
|
|
|
67529
67529
|
"overloadedDeclarations": [
|
|
67530
67530
|
null
|
|
67531
67531
|
],
|
|
67532
|
-
"referencedDeclaration":
|
|
67532
|
+
"referencedDeclaration": 14279,
|
|
67533
67533
|
"type": "type(contract ViaToken)",
|
|
67534
67534
|
"value": "ViaToken"
|
|
67535
67535
|
},
|
|
@@ -67744,7 +67744,7 @@
|
|
|
67744
67744
|
"isPure": false,
|
|
67745
67745
|
"lValueRequested": false,
|
|
67746
67746
|
"member_name": "reduceBalance",
|
|
67747
|
-
"referencedDeclaration":
|
|
67747
|
+
"referencedDeclaration": 14244,
|
|
67748
67748
|
"type": "function (address,bytes16) external"
|
|
67749
67749
|
},
|
|
67750
67750
|
"children": [
|
|
@@ -67774,7 +67774,7 @@
|
|
|
67774
67774
|
"overloadedDeclarations": [
|
|
67775
67775
|
null
|
|
67776
67776
|
],
|
|
67777
|
-
"referencedDeclaration":
|
|
67777
|
+
"referencedDeclaration": 14279,
|
|
67778
67778
|
"type": "type(contract ViaToken)",
|
|
67779
67779
|
"value": "ViaToken"
|
|
67780
67780
|
},
|
|
@@ -69905,10 +69905,10 @@
|
|
|
69905
69905
|
}
|
|
69906
69906
|
],
|
|
69907
69907
|
"overloadedDeclarations": [
|
|
69908
|
-
|
|
69909
|
-
|
|
69908
|
+
16442,
|
|
69909
|
+
16443
|
|
69910
69910
|
],
|
|
69911
|
-
"referencedDeclaration":
|
|
69911
|
+
"referencedDeclaration": 16442,
|
|
69912
69912
|
"type": "function (bool) pure",
|
|
69913
69913
|
"value": "require"
|
|
69914
69914
|
},
|
|
@@ -69997,7 +69997,7 @@
|
|
|
69997
69997
|
"overloadedDeclarations": [
|
|
69998
69998
|
null
|
|
69999
69999
|
],
|
|
70000
|
-
"referencedDeclaration":
|
|
70000
|
+
"referencedDeclaration": 16439,
|
|
70001
70001
|
"type": "msg",
|
|
70002
70002
|
"value": "msg"
|
|
70003
70003
|
},
|
|
@@ -71484,7 +71484,7 @@
|
|
|
71484
71484
|
"isPure": false,
|
|
71485
71485
|
"lValueRequested": false,
|
|
71486
71486
|
"member_name": "convertToVia",
|
|
71487
|
-
"referencedDeclaration":
|
|
71487
|
+
"referencedDeclaration": 16007,
|
|
71488
71488
|
"type": "function (bytes32,bytes16,bytes32,bytes16,bytes16) pure returns (bytes16)"
|
|
71489
71489
|
},
|
|
71490
71490
|
"children": [
|
|
@@ -71494,7 +71494,7 @@
|
|
|
71494
71494
|
"overloadedDeclarations": [
|
|
71495
71495
|
null
|
|
71496
71496
|
],
|
|
71497
|
-
"referencedDeclaration":
|
|
71497
|
+
"referencedDeclaration": 16100,
|
|
71498
71498
|
"type": "type(library paymentutils)",
|
|
71499
71499
|
"value": "paymentutils"
|
|
71500
71500
|
},
|
|
@@ -72912,7 +72912,7 @@
|
|
|
72912
72912
|
"isPure": false,
|
|
72913
72913
|
"lValueRequested": false,
|
|
72914
72914
|
"member_name": "calcBondPrice",
|
|
72915
|
-
"referencedDeclaration":
|
|
72915
|
+
"referencedDeclaration": 16099,
|
|
72916
72916
|
"type": "function (bytes32,bytes16,bytes32,bytes16,bytes16) pure returns (bytes16)"
|
|
72917
72917
|
},
|
|
72918
72918
|
"children": [
|
|
@@ -72922,7 +72922,7 @@
|
|
|
72922
72922
|
"overloadedDeclarations": [
|
|
72923
72923
|
null
|
|
72924
72924
|
],
|
|
72925
|
-
"referencedDeclaration":
|
|
72925
|
+
"referencedDeclaration": 16100,
|
|
72926
72926
|
"type": "type(library paymentutils)",
|
|
72927
72927
|
"value": "paymentutils"
|
|
72928
72928
|
},
|
|
@@ -73807,7 +73807,7 @@
|
|
|
73807
73807
|
"overloadedDeclarations": [
|
|
73808
73808
|
null
|
|
73809
73809
|
],
|
|
73810
|
-
"referencedDeclaration":
|
|
73810
|
+
"referencedDeclaration": 16441,
|
|
73811
73811
|
"type": "uint256",
|
|
73812
73812
|
"value": "now"
|
|
73813
73813
|
},
|
|
@@ -73985,7 +73985,7 @@
|
|
|
73985
73985
|
"overloadedDeclarations": [
|
|
73986
73986
|
null
|
|
73987
73987
|
],
|
|
73988
|
-
"referencedDeclaration":
|
|
73988
|
+
"referencedDeclaration": 16433,
|
|
73989
73989
|
"type": "function (bytes memory) pure returns (bytes32)",
|
|
73990
73990
|
"value": "keccak256"
|
|
73991
73991
|
},
|
|
@@ -74035,7 +74035,7 @@
|
|
|
74035
74035
|
"overloadedDeclarations": [
|
|
74036
74036
|
null
|
|
74037
74037
|
],
|
|
74038
|
-
"referencedDeclaration":
|
|
74038
|
+
"referencedDeclaration": 16426,
|
|
74039
74039
|
"type": "abi",
|
|
74040
74040
|
"value": "abi"
|
|
74041
74041
|
},
|
|
@@ -74119,7 +74119,7 @@
|
|
|
74119
74119
|
"attributes": {
|
|
74120
74120
|
"contractScope": null,
|
|
74121
74121
|
"name": "ViaToken",
|
|
74122
|
-
"referencedDeclaration":
|
|
74122
|
+
"referencedDeclaration": 14279,
|
|
74123
74123
|
"type": "contract ViaToken"
|
|
74124
74124
|
},
|
|
74125
74125
|
"id": 8238,
|
|
@@ -74157,7 +74157,7 @@
|
|
|
74157
74157
|
"overloadedDeclarations": [
|
|
74158
74158
|
null
|
|
74159
74159
|
],
|
|
74160
|
-
"referencedDeclaration":
|
|
74160
|
+
"referencedDeclaration": 14279,
|
|
74161
74161
|
"type": "type(contract ViaToken)",
|
|
74162
74162
|
"value": "ViaToken"
|
|
74163
74163
|
},
|
|
@@ -74223,7 +74223,7 @@
|
|
|
74223
74223
|
"isPure": false,
|
|
74224
74224
|
"lValueRequested": false,
|
|
74225
74225
|
"member_name": "addBalance",
|
|
74226
|
-
"referencedDeclaration":
|
|
74226
|
+
"referencedDeclaration": 14251,
|
|
74227
74227
|
"type": "function (address,bytes16) external"
|
|
74228
74228
|
},
|
|
74229
74229
|
"children": [
|
|
@@ -74314,7 +74314,7 @@
|
|
|
74314
74314
|
"isPure": false,
|
|
74315
74315
|
"lValueRequested": false,
|
|
74316
74316
|
"member_name": "addTotalSupply",
|
|
74317
|
-
"referencedDeclaration":
|
|
74317
|
+
"referencedDeclaration": 14256,
|
|
74318
74318
|
"type": "function (bytes16) external"
|
|
74319
74319
|
},
|
|
74320
74320
|
"children": [
|
|
@@ -75377,7 +75377,7 @@
|
|
|
75377
75377
|
"attributes": {
|
|
75378
75378
|
"contractScope": null,
|
|
75379
75379
|
"name": "ViaToken",
|
|
75380
|
-
"referencedDeclaration":
|
|
75380
|
+
"referencedDeclaration": 14279,
|
|
75381
75381
|
"type": "contract ViaToken"
|
|
75382
75382
|
},
|
|
75383
75383
|
"id": 8322,
|
|
@@ -75415,7 +75415,7 @@
|
|
|
75415
75415
|
"overloadedDeclarations": [
|
|
75416
75416
|
null
|
|
75417
75417
|
],
|
|
75418
|
-
"referencedDeclaration":
|
|
75418
|
+
"referencedDeclaration": 14279,
|
|
75419
75419
|
"type": "type(contract ViaToken)",
|
|
75420
75420
|
"value": "ViaToken"
|
|
75421
75421
|
},
|
|
@@ -75568,10 +75568,10 @@
|
|
|
75568
75568
|
}
|
|
75569
75569
|
],
|
|
75570
75570
|
"overloadedDeclarations": [
|
|
75571
|
-
|
|
75572
|
-
|
|
75571
|
+
16442,
|
|
75572
|
+
16443
|
|
75573
75573
|
],
|
|
75574
|
-
"referencedDeclaration":
|
|
75574
|
+
"referencedDeclaration": 16442,
|
|
75575
75575
|
"type": "function (bool) pure",
|
|
75576
75576
|
"value": "require"
|
|
75577
75577
|
},
|
|
@@ -75942,7 +75942,7 @@
|
|
|
75942
75942
|
"isPure": false,
|
|
75943
75943
|
"lValueRequested": false,
|
|
75944
75944
|
"member_name": "transferToken",
|
|
75945
|
-
"referencedDeclaration":
|
|
75945
|
+
"referencedDeclaration": 14232,
|
|
75946
75946
|
"type": "function (address,address,uint256) external returns (bool)"
|
|
75947
75947
|
},
|
|
75948
75948
|
"children": [
|
|
@@ -75972,7 +75972,7 @@
|
|
|
75972
75972
|
"overloadedDeclarations": [
|
|
75973
75973
|
null
|
|
75974
75974
|
],
|
|
75975
|
-
"referencedDeclaration":
|
|
75975
|
+
"referencedDeclaration": 14279,
|
|
75976
75976
|
"type": "type(contract ViaToken)",
|
|
75977
75977
|
"value": "ViaToken"
|
|
75978
75978
|
},
|
|
@@ -76877,7 +76877,7 @@
|
|
|
76877
76877
|
"overloadedDeclarations": [
|
|
76878
76878
|
null
|
|
76879
76879
|
],
|
|
76880
|
-
"referencedDeclaration":
|
|
76880
|
+
"referencedDeclaration": 16441,
|
|
76881
76881
|
"type": "uint256",
|
|
76882
76882
|
"value": "now"
|
|
76883
76883
|
},
|
|
@@ -82670,7 +82670,7 @@
|
|
|
82670
82670
|
"overloadedDeclarations": [
|
|
82671
82671
|
null
|
|
82672
82672
|
],
|
|
82673
|
-
"referencedDeclaration":
|
|
82673
|
+
"referencedDeclaration": 16439,
|
|
82674
82674
|
"type": "msg",
|
|
82675
82675
|
"value": "msg"
|
|
82676
82676
|
},
|
|
@@ -82771,7 +82771,7 @@
|
|
|
82771
82771
|
"overloadedDeclarations": [
|
|
82772
82772
|
null
|
|
82773
82773
|
],
|
|
82774
|
-
"referencedDeclaration":
|
|
82774
|
+
"referencedDeclaration": 15896,
|
|
82775
82775
|
"type": "function ()",
|
|
82776
82776
|
"value": "_pause"
|
|
82777
82777
|
},
|
|
@@ -82868,7 +82868,7 @@
|
|
|
82868
82868
|
"overloadedDeclarations": [
|
|
82869
82869
|
null
|
|
82870
82870
|
],
|
|
82871
|
-
"referencedDeclaration":
|
|
82871
|
+
"referencedDeclaration": 16439,
|
|
82872
82872
|
"type": "msg",
|
|
82873
82873
|
"value": "msg"
|
|
82874
82874
|
},
|
|
@@ -82969,7 +82969,7 @@
|
|
|
82969
82969
|
"overloadedDeclarations": [
|
|
82970
82970
|
null
|
|
82971
82971
|
],
|
|
82972
|
-
"referencedDeclaration":
|
|
82972
|
+
"referencedDeclaration": 15907,
|
|
82973
82973
|
"type": "function ()",
|
|
82974
82974
|
"value": "_unpause"
|
|
82975
82975
|
},
|
|
@@ -83093,10 +83093,10 @@
|
|
|
83093
83093
|
}
|
|
83094
83094
|
],
|
|
83095
83095
|
"overloadedDeclarations": [
|
|
83096
|
-
|
|
83097
|
-
|
|
83096
|
+
16442,
|
|
83097
|
+
16443
|
|
83098
83098
|
],
|
|
83099
|
-
"referencedDeclaration":
|
|
83099
|
+
"referencedDeclaration": 16442,
|
|
83100
83100
|
"type": "function (bool) pure",
|
|
83101
83101
|
"value": "require"
|
|
83102
83102
|
},
|
|
@@ -83288,15 +83288,15 @@
|
|
|
83288
83288
|
"3": {
|
|
83289
83289
|
"events": {},
|
|
83290
83290
|
"links": {
|
|
83291
|
-
"stringutils": "
|
|
83292
|
-
"paymentutils": "
|
|
83291
|
+
"stringutils": "0x0faa75081d5b990d50C87de8137fbbf883018dc0",
|
|
83292
|
+
"paymentutils": "0xDbeb88445273c090e26134dE4E174a400417147a"
|
|
83293
83293
|
},
|
|
83294
|
-
"address": "
|
|
83295
|
-
"transactionHash": "
|
|
83294
|
+
"address": "0xafe56BD0a241d45b3d41aC898e7351eBc2EDC362",
|
|
83295
|
+
"transactionHash": "0x36479737c1e09d3e7ef2a5b4b5124c0cc3473454b47ac53dcfc653d5ca5d2143"
|
|
83296
83296
|
}
|
|
83297
83297
|
},
|
|
83298
83298
|
"schemaVersion": "3.4.3",
|
|
83299
|
-
"updatedAt": "2022-04-
|
|
83299
|
+
"updatedAt": "2022-04-24T04:06:38.363Z",
|
|
83300
83300
|
"networkType": "ethereum",
|
|
83301
83301
|
"devdoc": {
|
|
83302
83302
|
"methods": {
|