[ { "inputs": [ { "internalType": "address", "name": "_fundAdmin", "type": "address" }, { "internalType": "address", "name": "_fundBoard", "type": "address" }, { "internalType": "string", "name": "_tokenName", "type": "string" }, { "internalType": "uint8", "name": "_decimalUnits", "type": "uint8" }, { "internalType": "string", "name": "_tokenSymbol", "type": "string" }, { "internalType": "uint256", "name": "_lockedUntilBlock", "type": "uint256" }, { "internalType": "uint256", "name": "_newTotalSupply", "type": "uint256" }, { "internalType": "bool", "name": "_canChangeAssets", "type": "bool" }, { "internalType": "bool", "name": "_mintable", "type": "bool" }, { "internalType": "bool", "name": "_hasWhiteList", "type": "bool" }, { "internalType": "bool", "name": "_isSyndicate", "type": "bool" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "BlockLockSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_newTotalSupply", "type": "uint256" } ], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "string", "name": "tokenSymbol", "type": "string" }, { "indexed": false, "internalType": "string", "name": "assetInfo", "type": "string" }, { "indexed": false, "internalType": "uint8", "name": "amount", "type": "uint8" }, { "indexed": false, "internalType": "uint256", "name": "totalAssetAmount", "type": "uint256" } ], "name": "FundAssetsChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_newTotalSupply", "type": "uint256" } ], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_newInvestor", "type": "address" } ], "name": "NewInvestor", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_newManager", "type": "address" } ], "name": "NewManager", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_investor", "type": "address" } ], "name": "RemovedInvestor", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "_to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "string", "name": "_assetTicker", "type": "string" }, { "internalType": "string", "name": "_assetInfo", "type": "string" }, { "internalType": "uint8", "name": "_assetPercentageParticipation", "type": "uint8" } ], "name": "addNewAsset", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_investor", "type": "address" }, { "internalType": "string", "name": "_investorInfo", "type": "string" } ], "name": "addNewInvestor", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_details", "type": "string" } ], "name": "addTradingPlatform", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "assets", "outputs": [ { "internalType": "string", "name": "assetTicker", "type": "string" }, { "internalType": "string", "name": "assetInfo", "type": "string" }, { "internalType": "uint8", "name": "assetPercentageParticipation", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "board", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "burn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "canChangeAssets", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "clearedInvestors", "outputs": [ { "internalType": "string", "name": "info", "type": "string" }, { "internalType": "bool", "name": "exists", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "financialDetailsHash", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "hasWhiteList", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isLocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isSyndicate", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "isTransferValid", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lockedUntilBlock", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "manager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "mint", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "mintable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint8", "name": "_assetIndex", "type": "uint8" } ], "name": "removeAnAsset", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_investor", "type": "address" } ], "name": "removeInvestor", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_index", "type": "uint256" } ], "name": "removeTradingPlatform", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newAdmin", "type": "address" } ], "name": "replaceAdmin", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_lockedUntilBlock", "type": "uint256" } ], "name": "setBlockLock", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_url", "type": "string" } ], "name": "setFinancialDetails", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "_hash", "type": "bytes32" } ], "name": "setFinancialDetailsHash", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_newManager", "type": "address" } ], "name": "setManager", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalAssetsArray", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tradingPlatforms", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_assetTicker", "type": "string" }, { "internalType": "string", "name": "_assetInfo", "type": "string" }, { "internalType": "uint8", "name": "_newAmount", "type": "uint8" } ], "name": "updateAnAssetQuantity", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "urlFinancialDetailsDocument", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b506040516200314638038062003146833981016040819052620000349162000392565b8851620000499060019060208c0190620001ed565b5060128860ff1611156200007a5760405162461bcd60e51b81526004016200007190620004b3565b60405180910390fd5b6002805460ff191660ff8a1617905586516200009e9060039060208a0190620001ed565b506007869055600480546001600160a01b03199081166001600160a01b038e81169190911790925560058054909116918c1691909117905560008581556008805460ff19168615151761ff001916610100861515021762ff0000191662010000851515021763ff0000001916630100000084151502179055308152600c602052604090208590556200012f62000272565b506040805160808101825260088183019081526710dbdb9d1c9858dd60c21b606083015281526001602080830191909152306000908152600e8252929092208151805192938493620001859284920190620001ed565b50602091909101516001909101805460ff19169115159190911790556040517f97d33a7365e760e859a3453f70484ea24a4aeb75478205a52ac35174ead0ccf690620001d39030906200049f565b60405180910390a1505050505050505050505050620004f6565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200023057805160ff191683800117855562000260565b8280016001018555821562000260579182015b828111156200026057825182559160200191906001019062000243565b506200026e9291506200028a565b5090565b60408051808201909152606081526000602082015290565b620002a791905b808211156200026e576000815560010162000291565b90565b80516001600160a01b0381168114620002c257600080fd5b92915050565b80518015158114620002c257600080fd5b600082601f830112620002ea578081fd5b81516001600160401b038082111562000301578283fd5b6040516020601f8401601f191682018101838111838210171562000323578586fd5b806040525081945083825286818588010111156200034057600080fd5b600092505b8383101562000364578583018101518284018201529182019162000345565b83831115620003765760008185840101525b5050505092915050565b805160ff81168114620002c257600080fd5b60008060008060008060008060008060006101608c8e031215620003b4578687fd5b620003c08d8d620002aa565b9a50620003d18d60208e01620002aa565b60408d0151909a506001600160401b03811115620003ed578788fd5b620003fb8e828f01620002d9565b9950506200040d8d60608e0162000380565b60808d01519098506001600160401b0381111562000429578788fd5b620004378e828f01620002d9565b97505060a08c0151955060c08c01519450620004578d60e08e01620002c8565b9350620004698d6101008e01620002c8565b92506200047b8d6101208e01620002c8565b91506200048d8d6101408e01620002c8565b90509295989b509295989b9093969950565b6001600160a01b0391909116815260200190565b60208082526023908201527f446563696d616c20756e6974732073686f756c64206265203138206f72206c6f6040820152623bb2b960e91b606082015260800190565b612c4080620005066000396000f3fe6080604052600436106102465760003560e01c806366d7a11d11610139578063a9059cbb116100b6578063d8162db71161007a578063d8162db714610681578063dce4e6c214610696578063dd62ed3e146106ab578063e159f3d1146106cb578063f851a440146106e0578063fcf05af7146106f557610246565b8063a9059cbb146105d2578063ab730436146105f2578063c4f4face14610612578063cf35bdd014610632578063d0ebdbe71461066157610246565b80637d5a1d15116100fd5780637d5a1d15146105555780637e33957e1461057557806395d89b41146105955780639dc29fac146105aa578063a4e2d634146105bd57610246565b806366d7a11d146104c857806370a08231146104dd57806372379f60146104fd57806377b271a4146105125780637cd3229a1461054057610246565b8063313ce567116101c7578063481c6a751161018b578063481c6a75146104315780634bf365df1461045357806356bd7c8b146104685780635c658165146104885780635fb10858146104a857610246565b8063313ce5671461038f578063366a68dc146103b157806340c10f19146103d157806340ecb7f2146103f1578063427149781461041157610246565b80631dc323c61161020e5780631dc323c6146102fa57806323b872dd1461030f57806327e235e31461032f57806329d8ca2f1461034f5780632dd6be771461036f57610246565b806304b4c2051461024b57806304c3033f1461027657806306fdde03146102a3578063095ea7b3146102c557806318160ddd146102e5575b600080fd5b34801561025757600080fd5b50610260610715565b60405161026d91906125a7565b60405180910390f35b34801561028257600080fd5b50610296610291366004612443565b61071b565b60405161026d919061259c565b3480156102af57600080fd5b506102b861092c565b60405161026d91906125b0565b3480156102d157600080fd5b506102966102e03660046123de565b6109b9565b3480156102f157600080fd5b50610260610aaf565b34801561030657600080fd5b50610296610ab5565b34801561031b57600080fd5b5061029661032a366004612350565b610abe565b34801561033b57600080fd5b5061026061034a3660046122d1565b610c89565b34801561035b57600080fd5b5061029661036a366004612443565b610c9b565b34801561037b57600080fd5b506102b861038a3660046123f0565b610e95565b34801561039b57600080fd5b506103a4610f08565b60405161026d9190612b97565b3480156103bd57600080fd5b506102966103cc3660046123f0565b610f11565b3480156103dd57600080fd5b506102966103ec3660046123de565b610f98565b3480156103fd57600080fd5b5061029661040c366004612350565b611121565b34801561041d57600080fd5b5061029661042c3660046122d1565b611232565b34801561043d57600080fd5b506104466112e4565b60405161026d9190612588565b34801561045f57600080fd5b506102966112f3565b34801561047457600080fd5b506102966104833660046123f0565b611301565b34801561049457600080fd5b506102606104a3366004612318565b611337565b3480156104b457600080fd5b506102966104c3366004612408565b611354565b3480156104d457600080fd5b506102966113cd565b3480156104e957600080fd5b506102606104f83660046122d1565b6113dc565b34801561050957600080fd5b506102966113f7565b34801561051e57600080fd5b5061053261052d3660046122d1565b611407565b60405161026d9291906125c3565b34801561054c57600080fd5b506104466114b1565b34801561056157600080fd5b506102966105703660046123f0565b6114c0565b34801561058157600080fd5b50610296610590366004612408565b611592565b3480156105a157600080fd5b506102b86115d2565b6102966105b83660046122ed565b61162d565b3480156105c957600080fd5b50610296611825565b3480156105de57600080fd5b506102966105ed3660046123de565b61182e565b3480156105fe57600080fd5b5061029661060d3660046124b5565b611952565b34801561061e57600080fd5b5061029661062d3660046122d1565b611c01565b34801561063e57600080fd5b5061065261064d3660046123f0565b611cb4565b60405161026d939291906125e7565b34801561066d57600080fd5b5061029661067c3660046122d1565b611e0b565b34801561068d57600080fd5b50610260611e83565b3480156106a257600080fd5b506102b8611e89565b3480156106b757600080fd5b506102606106c6366004612318565b611ee4565b3480156106d757600080fd5b50610260611f11565b3480156106ec57600080fd5b50610446611f17565b34801561070157600080fd5b50610296610710366004612390565b611f26565b600a5481565b6004546000906001600160a01b031633146107515760405162461bcd60e51b8152600401610748906128a8565b60405180910390fd5b6000805b600f548110156107ef57600f818154811061076c57fe5b906000526020600020906003020160000160405161078a91906124fc565b6040518091039020868051906020012014156107b85760405162461bcd60e51b8152600401610748906127c3565b6107e5600f82815481106107c857fe5b600091825260209091206002600390920201015460ff1683612023565b9150600101610755565b506107fd818460ff16612023565b905060648111156108205760405162461bcd60e51b815260040161074890612678565b8460405161082e919061256c565b60405180910390207fdb5520a9f634155cff8e22a364080e6765f0d52cff4cbac09d4f8864c07d3c9285858460405161086993929190612620565b60405180910390a26108796120b2565b5060408051606081018252868152602080820187905260ff861692820192909252600f8054600181018255600091909152815180519293849360039093027f8d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac80201926108e792849201906120d6565b50602082810151805161090092600185019201906120d6565b50604091909101516002909101805460ff191660ff9092169190911790555060019150505b9392505050565b60018054604080516020600284861615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109b15780601f10610986576101008083540402835291602001916109b1565b820191906000526020600020905b81548152906001019060200180831161099457829003601f168201915b505050505081565b6000336109c4611825565b15806109dd57506004546001600160a01b038281169116145b6109f95760405162461bcd60e51b815260040161074890612861565b6001600160a01b038416610a1f5760405162461bcd60e51b81526004016107489061274a565b6004546000906001600160a01b03163314610a3a5733610a3c565b305b6001600160a01b038082166000818152600d60209081526040808320948b1680845294909152908190208890555192935090917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610a9c9088906125a7565b60405180910390a3506001949350505050565b60005481565b60085460ff1681565b600083610ac9611825565b1580610ae257506004546001600160a01b038281169116145b610afe5760405162461bcd60e51b815260040161074890612861565b6001600160a01b0385166000908152600d60209081526040808320338452909152902054831115610b415760405162461bcd60e51b815260040161074890612b52565b610b4c858585611121565b610b685760405162461bcd60e51b8152600401610748906126c5565b6001600160a01b0385166000908152600c6020526040902054610b91908463ffffffff61204816565b6001600160a01b038087166000908152600c60205260408082209390935590861681522054610bc6908463ffffffff61202316565b6001600160a01b038086166000908152600c602090815260408083209490945583518085018552601981527f56616c7565206c6f776572207468616e20617070726f76616c00000000000000818301529289168252600d815283822033835290529190912054610c3d91859063ffffffff61208616565b6001600160a01b038087166000818152600d60209081526040808320338452909152908190209390935591519086169190600080516020612beb83398151915290610a9c9087906125a7565b600c6020526000908152604090205481565b6004546000906001600160a01b03163314610cc85760405162461bcd60e51b8152600401610748906128a8565b60085460ff16610cea5760405162461bcd60e51b81526004016107489061295e565b60008260ff1611610d0d5760405162461bcd60e51b815260040161074890612ae4565b600080805b600f54811015610dac57600f8181548110610d2957fe5b9060005260206000209060030201600001604051610d4791906124fc565b604051809103902087805190602001201415610d7457809150610d6d838660ff16612023565b9250610da4565b610da183600f8381548110610d8557fe5b600091825260209091206002600390920201015460ff16612023565b92505b600101610d12565b5085604051610dbb919061256c565b60405180910390207fdb5520a9f634155cff8e22a364080e6765f0d52cff4cbac09d4f8864c07d3c92868685604051610df693929190612620565b60405180910390a26064821115610e1f5760405162461bcd60e51b815260040161074890612995565b83600f8281548110610e2d57fe5b906000526020600020906003020160020160006101000a81548160ff021916908360ff16021790555084600f8281548110610e6457fe5b90600052602060002090600302016001019080519060200190610e889291906120d6565b5060019695505050505050565b600b8181548110610ea257fe5b600091825260209182902001805460408051601f60026000196101006001871615020190941693909304928301859004850281018501909152818152935090918301828280156109b15780601f10610986576101008083540402835291602001916109b1565b60025460ff1681565b6005546000906001600160a01b0316331480610f3757506004546001600160a01b031633145b610f535760405162461bcd60e51b8152600401610748906126fc565b60078290556040517f6c04066f6ede40cc1642c211ba9d18f1a096ccc84fb8d11be28ea6c3c6f68b3690610f889084906125a7565b60405180910390a1506001919050565b600854600090610100900460ff16610fc25760405162461bcd60e51b815260040161074890612a3c565b6006546001600160a01b0316331480610fe557506004546001600160a01b031633145b6110015760405162461bcd60e51b815260040161074890612a73565b3361100a611825565b158061102357506004546001600160a01b038281169116145b61103f5760405162461bcd60e51b815260040161074890612861565b6001600160a01b0384166000908152600c6020526040902054611068908463ffffffff61202316565b6001600160a01b0385166000908152600c602052604081209190915554611095908463ffffffff61202316565b60008190556040516001600160a01b038616917f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f916110d5918791612b89565b60405180910390a2836001600160a01b031660006001600160a01b0316600080516020612beb8339815191528560405161110f91906125a7565b60405180910390a35060019392505050565b60006001600160a01b03841661113957506000610925565b6001600160a01b03831661114f57506000610925565b60085462010000900460ff1661118157506001600160a01b0383166000908152600c6020526040902054811115610925565b6001600160a01b0384166000908152600e602052604090206001015460085460ff918216916301000000909104166111e0576001600160a01b0385166000908152600c602052604090205483118015906111d85750805b915050610925565b6001600160a01b038085166000908152600e60209081526040808320600101549389168352600c90915290205460ff90911690841180159061121f5750815b80156112285750805b9695505050505050565b6004546000906001600160a01b0316331461125f5760405162461bcd60e51b8152600401610748906128a8565b6001600160a01b0382166112855760405162461bcd60e51b815260040161074890612804565b6001600160a01b0382166000908152600e60205260408120906112a88282612154565b50600101805460ff191690556040517f24ee917fffe923f5cbaf9746ee4c53401b4cf82e794c88724e8a6946b5302ae590610f88908490612588565b6006546001600160a01b031681565b600854610100900460ff1681565b6004546000906001600160a01b0316331461132e5760405162461bcd60e51b8152600401610748906128a8565b50600a55600190565b600d60209081526000928352604080842090915290825290205481565b6004546000906001600160a01b031633146113815760405162461bcd60e51b8152600401610748906128a8565b600b805460018101825560009190915282516113c4917f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9019060208501906120d6565b50600192915050565b60085462010000900460ff1681565b6001600160a01b03166000908152600c602052604090205490565b6008546301000000900460ff1681565b600e6020908152600091825260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845290929183919083018282801561149e5780601f106114735761010080835404028352916020019161149e565b820191906000526020600020905b81548152906001019060200180831161148157829003601f168201915b5050506001909301549192505060ff1682565b6005546001600160a01b031681565b6004546000906001600160a01b031633146114ed5760405162461bcd60e51b8152600401610748906128a8565b600b54821061150e5760405162461bcd60e51b815260040161074890612648565b600b8054600019810190811061152057fe5b90600052602060002001600b838154811061153757fe5b90600052602060002001908054600181600116156101000203166002900461156092919061219b565b50600b80548061156c57fe5b6001900381819060005260206000200160006115889190612154565b9055506001919050565b6004546000906001600160a01b031633146115bf5760405162461bcd60e51b8152600401610748906128a8565b81516113c49060099060208501906120d6565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109b15780601f10610986576101008083540402835291602001916109b1565b600033611638611825565b158061165157506004546001600160a01b038281169116145b61166d5760405162461bcd60e51b815260040161074890612861565b6006546001600160a01b031633148061169057506004546001600160a01b031633145b6116ac5760405162461bcd60e51b815260040161074890612a73565b6001600160a01b0384166116d25760405162461bcd60e51b81526004016107489061291d565b6000546116e5908463ffffffff61204816565b60009081556001600160a01b0385168152600c6020526040902054611710908463ffffffff61204816565b6001600160a01b0385166000818152600c6020526040808220939093559151600080516020612beb8339815191529061174a9087906125a7565b60405180910390a3836001600160a01b03167f49995e5dd6158cf69ad3e9777c46755a1a826a446c6416992167462dad033b2a8460005460405161178f929190612b89565b60405180910390a2341561181b576000846001600160a01b0316346040516117b69061182b565b60006040518083038185875af1925050503d80600081146117f3576040519150601f19603f3d011682016040523d82523d6000602084013e6117f8565b606091505b50509050806118195760405162461bcd60e51b8152600401610748906128ed565b505b5060019392505050565b60075443105b90565b600033611839611825565b158061185257506004546001600160a01b038281169116145b61186e5760405162461bcd60e51b815260040161074890612861565b6004546000906001600160a01b03163314611889573361188b565b305b9050611898818686611121565b6118b45760405162461bcd60e51b8152600401610748906126c5565b6001600160a01b0381166000908152600c60205260409020546118dd908563ffffffff61204816565b6001600160a01b038083166000908152600c60205260408082209390935590871681522054611912908563ffffffff61202316565b6001600160a01b038087166000818152600c60205260409081902093909355915190831690600080516020612beb83398151915290610a9c9088906125a7565b6004546000906001600160a01b0316331461197f5760405162461bcd60e51b8152600401610748906128a8565b60085460ff166119a15760405162461bcd60e51b815260040161074890612b1b565b600f5460ff8316106119c55760405162461bcd60e51b8152600401610748906129e7565b6060600f8360ff16815481106119d757fe5b6000918252602091829020600390910201805460408051601f6002600019610100600187161502019094169390930492830185900485028101850190915281815292830182828015611a6a5780601f10611a3f57610100808354040283529160200191611a6a565b820191906000526020600020905b815481529060010190602001808311611a4d57829003601f168201915b50505050509050600f6001600f805490500381548110611a8657fe5b9060005260206000209060030201600f8460ff1681548110611aa457fe5b906000526020600020906003020160008201816000019080546001816001161561010002031660029004611ad992919061219b565b5060018201816001019080546001816001161561010002031660029004611b0192919061219b565b506002918201549101805460ff191660ff909216919091179055600f80546000198101908110611b2d57fe5b60009182526020822060039091020190611b478282612154565b611b55600183016000612154565b50600201805460ff19169055600f805480611b6c57fe5b60008281526020812060001990920191600383020190611b8c8282612154565b611b9a600183016000612154565b50600201805460ff191690559055604051611bb690829061256c565b60405180910390207fdb5520a9f634155cff8e22a364080e6765f0d52cff4cbac09d4f8864c07d3c92600080604051611bf0929190612ac3565b60405180910390a250600192915050565b6005546000906001600160a01b0316331480611c2757506004546001600160a01b031633145b611c435760405162461bcd60e51b8152600401610748906126fc565b6001600160a01b038216611c695760405162461bcd60e51b81526004016107489061283b565b600480546001600160a01b0319166001600160a01b0384161790556040517f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c90610f88908490612588565b600f8181548110611cc157fe5b60009182526020918290206003919091020180546040805160026001841615610100026000190190931692909204601f810185900485028301850190915280825291935091839190830182828015611d5a5780601f10611d2f57610100808354040283529160200191611d5a565b820191906000526020600020905b815481529060010190602001808311611d3d57829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015611df85780601f10611dcd57610100808354040283529160200191611df8565b820191906000526020600020905b815481529060010190602001808311611ddb57829003601f168201915b5050506002909301549192505060ff1683565b6004546000906001600160a01b03163314611e385760405162461bcd60e51b8152600401610748906128a8565b600680546001600160a01b0319166001600160a01b0384161790556040517f5589a1df7a257347b14b97cb6fe06862c960ff64e9a0c2908632929098bb013090610f88908490612588565b60075481565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156109b15780601f10610986576101008083540402835291602001916109b1565b6001600160a01b038083166000908152600d60209081526040808320938516835292905220545b92915050565b600f5490565b6004546001600160a01b031681565b6004546000906001600160a01b03163314611f535760405162461bcd60e51b8152600401610748906128a8565b6001600160a01b038316611f795760405162461bcd60e51b815260040161074890612804565b611f81612210565b5060408051808201825283815260016020808301919091526001600160a01b0386166000908152600e8252929092208151805192938493611fc592849201906120d6565b50602091909101516001909101805460ff19169115159190911790556040517f97d33a7365e760e859a3453f70484ea24a4aeb75478205a52ac35174ead0ccf690612011908690612588565b60405180910390a15060019392505050565b6000828201838110156109255760405162461bcd60e51b81526004016107489061278c565b600061092583836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152505b600081848411156120aa5760405162461bcd60e51b815260040161074891906125b0565b505050900390565b60405180606001604052806060815260200160608152602001600060ff1681525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061211757805160ff1916838001178555612144565b82800160010185558215612144579182015b82811115612144578251825591602001919060010190612129565b50612150929150612228565b5090565b50805460018160011615610100020316600290046000825580601f1061217a5750612198565b601f0160209004906000526020600020908101906121989190612228565b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106121d45780548555612144565b8280016001018555821561214457600052602060002091601f016020900482015b828111156121445782548255916001019190600101906121f5565b60408051808201909152606081526000602082015290565b61182b91905b80821115612150576000815560010161222e565b600082601f830112612252578081fd5b813567ffffffffffffffff80821115612269578283fd5b604051601f8301601f191681016020018281118282101715612289578485fd5b6040528281529250828483016020018610156122a457600080fd5b8260208601602083013760006020848301015250505092915050565b803560ff81168114611f0b57600080fd5b6000602082840312156122e2578081fd5b813561092581612bd5565b600080604083850312156122ff578081fd5b823561230a81612bd5565b946020939093013593505050565b6000806040838503121561232a578182fd5b823561233581612bd5565b9150602083013561234581612bd5565b809150509250929050565b600080600060608486031215612364578081fd5b833561236f81612bd5565b9250602084013561237f81612bd5565b929592945050506040919091013590565b600080604083850312156123a2578182fd5b82356123ad81612bd5565b9150602083013567ffffffffffffffff8111156123c8578182fd5b6123d485828601612242565b9150509250929050565b600080604083850312156122ff578182fd5b600060208284031215612401578081fd5b5035919050565b600060208284031215612419578081fd5b813567ffffffffffffffff81111561242f578182fd5b61243b84828501612242565b949350505050565b600080600060608486031215612457578283fd5b833567ffffffffffffffff8082111561246e578485fd5b61247a87838801612242565b9450602086013591508082111561248f578384fd5b5061249c86828701612242565b9250506124ac85604086016122c0565b90509250925092565b6000602082840312156124c6578081fd5b61092583836122c0565b600081518084526124e8816020860160208601612ba5565b601f01601f19169290920160200192915050565b600080835460018082166000811461251b576001811461253257612561565b60ff198316865260028304607f1686019350612561565b600283048786526020808720875b838110156125595781548a820152908501908201612540565b505050860193505b509195945050505050565b6000825161257e818460208701612ba5565b9190910192915050565b6001600160a01b0391909116815260200190565b901515815260200190565b90815260200190565b60006020825261092560208301846124d0565b6000604082526125d660408301856124d0565b905082151560208301529392505050565b6000606082526125fa60608301866124d0565b828103602084015261260c81866124d0565b91505060ff83166040830152949350505050565b60006060825261263360608301866124d0565b60ff9490941660208301525060400152919050565b602080825260169082015275092dcecc2d8d2c840e0d8c2e8ccdee4da40d2dcc8caf60531b604082015260600190565b6020808252602d908201527f546f74616c20617373657473206e756d6265722063616e6e6f7420626520686960408201526c067686572207468616e2031303609c1b606082015260800190565b6020808252601a908201527f496e76616c6964205472616e73666572204f7065726174696f6e000000000000604082015260600190565b6020808252602e908201527f4f6e6c792061646d696e206f7220626f6172642063616e20706572666f726d2060408201526d3a3434b99037b832b930ba34b7b760911b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b60208082526021908201527f416e2061737365742063616e6e6f742062652061737369676e656420747769636040820152606560f81b606082015260800190565b60208082526018908201527f496e76616c696420696e766573746f7220616464726573730000000000000000604082015260600190565b6020808252600c908201526b4e756c6c206164647265737360a01b604082015260600190565b60208082526027908201527f436f6e7472616374206973206c6f636b65642065786365707420666f72207468604082015266329030b236b4b760c91b606082015260800190565b60208082526025908201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206f70657260408201526430ba34b7b760d91b606082015260800190565b60208082526016908201527522ba3432b9103a3930b739b332b9103330b4b632b21760511b604082015260600190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b6020808252601a908201527f43616e6e6f74206368616e676520617373657420616d6f756e74000000000000604082015260600190565b60208082526032908201527f46756e642061737365747320746f74616c2070657263656e74616765206d7573604082015271074206265206c657373207468616e203130360741b606082015260800190565b60208082526035908201527f496e76616c696420617373657420696e646578206e756d6265722e2047726561604082015274746572207468616e20746f74616c2061737365747360581b606082015260800190565b60208082526019908201527f546f6b656e206d696e74696e672069732064697361626c656400000000000000604082015260600190565b60208082526030908201527f4f6e6c79206d616e61676572206f722061646d696e2063616e20706572666f7260408201526f36903a3434b99037b832b930ba34b7b760811b606082015260800190565b606080825260009082015260ff929092166020830152604082015260800190565b6020808252601c908201527f43616e6e6f7420736574207a65726f20617373657420616d6f756e7400000000604082015260600190565b6020808252601d908201527f43616e6e6f74206368616e676520617373657420706f7274666f6c696f000000604082015260600190565b60208082526019908201527f56616c756520696e666f726d656420697320696e76616c696400000000000000604082015260600190565b918252602082015260400190565b60ff91909116815260200190565b60005b83811015612bc0578181015183820152602001612ba8565b83811115612bcf576000848401525b50505050565b6001600160a01b038116811461219857600080fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122087c4fbd1b419a6e7c40ccbbfa6dfb33151f46f9229cd3848014d1b69cdbde30a64736f6c634300060600330000000000000000000000001ec4a284b40df7239256b93847965576cdff098e0000000000000000000000004b48448942eaf9beead7bc018bbd3b6ca04514540000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006fc23ac000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b436f6e73747275436f696e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006494d4f4230320000000000000000000000000000000000000000000000000000