0 txs
142 calls
constructor
No constructor.
functions
adminAddress
viewfunction adminAddress() view returns (address)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
aswmAddress
viewfunction aswmAddress() view returns (address)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
deliveryFee
viewfunction deliveryFee() view returns (uint256)
DOMAIN_SEPARATOR
viewfunction DOMAIN_SEPARATOR() view returns (bytes32)
eip712Domain
viewfunction eip712Domain() view returns (bytes1 fields, string name, string version, uint256 chainId, address verifyingContract, bytes32 salt, uint256[] extensions)
factoryAddress
viewfunction factoryAddress() view returns (address)
getErc20UsdcPrice
viewfunction getErc20UsdcPrice(address token) view returns (uint256)
getSellPercentage
viewfunction getSellPercentage() view returns (uint256)
getTokenPrice
viewfunction getTokenPrice() view returns (uint256 price)
goldRatio
viewfunction goldRatio() view returns (uint256)
minBuyAmount
viewfunction minBuyAmount() view returns (uint256)
minReserveAmount
viewfunction minReserveAmount() view returns (uint256)
name
viewfunction name() view returns (string)
nonces
viewfunction nonces(address owner) view returns (uint256)
oracleAddress
viewfunction oracleAddress() view returns (address)
owner
viewfunction owner() view returns (address)
reserves
viewfunction reserves(address) view returns (uint256)
rollOverEpochDuration
viewfunction rollOverEpochDuration() view returns (uint256)
rollOverFee
viewfunction rollOverFee() view returns (uint256)
routerAddress
viewfunction routerAddress() view returns (address)
sellPercentage
viewfunction sellPercentage() view returns (uint256)
streemURL
viewfunction streemURL() view returns (string)
symbol
viewfunction symbol() view returns (string)
toggleStatus
viewfunction toggleStatus() view returns (bool)
totalSupply
viewfunction totalSupply() view returns (uint256)
transferFee
viewfunction transferFee() view returns (uint256)
usdcAddress
viewfunction usdcAddress() view returns (address)
usdtAddress
viewfunction usdtAddress() view returns (address)
addCommodities
nonpayablefunction addCommodities(uint256 _amount)
addReserve
nonpayablefunction addReserve(address _holder, uint256 _amount)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
burn
nonpayablefunction burn(uint256 amount)
burnFrom
nonpayablefunction burnFrom(address account, uint256 amount)
buy
nonpayablefunction buy(address token, uint256 amount)
buyWithPermit
nonpayablefunction buyWithPermit(address token, uint256 amount, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
cancelReserve
nonpayablefunction cancelReserve(address _holder)
claim
nonpayablefunction claim(address token, uint256 amount)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
initialize
nonpayablefunction initialize(address _aswmAddress, address _routerAddress, address _factoryAddress, address _usdcAddress, address _oracleAddress, uint256 _transferFee, uint256 _deliveryFee, uint256 _rollOverFee, uint256 _rollOverEpochDuration, uint256 _goldRatio, uint256 _minReserveAmount, uint256 _minBuyAmount, string _streemURL, bool _toggleStatus)
mint
nonpayablefunction mint(address account, uint256 amount)
permit
nonpayablefunction permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s)
releaseReserve
nonpayablefunction releaseReserve(address _holder)
renounceOwnership
nonpayablefunction renounceOwnership()
sell
nonpayablefunction sell(uint256 _gxauAmount, address token)
setAdminAddress
nonpayablefunction setAdminAddress(address _address)
setAswmAddress
nonpayablefunction setAswmAddress(address _address)
setDeliveryFee
nonpayablefunction setDeliveryFee(uint256 _fee)
setFactoryAddress
nonpayablefunction setFactoryAddress(address _address)
setGoldRatio
nonpayablefunction setGoldRatio(uint256 _goldRatio)
setMinBuyAmount
nonpayablefunction setMinBuyAmount(uint256 _minBuyAmount)
setMinReserveAmount
nonpayablefunction setMinReserveAmount(uint256 _minReserveAmount)
setOracleAddress
nonpayablefunction setOracleAddress(address _address)
setRollOverEpochDuration
nonpayablefunction setRollOverEpochDuration(uint256 _duration)
setRollOverFee
nonpayablefunction setRollOverFee(uint256 _fee)
setRouterAddress
nonpayablefunction setRouterAddress(address _address)
setSellPercentage
nonpayablefunction setSellPercentage(uint256 _sellPercentage)
setStreemURL
nonpayablefunction setStreemURL(string _streemURL)
setToggleStatus
nonpayablefunction setToggleStatus(bool _status)
setTransferFee
nonpayablefunction setTransferFee(uint256 _fee)
setUsdcAddress
nonpayablefunction setUsdcAddress(address _address)
setUsdtAddress
nonpayablefunction setUsdtAddress(address _address)
transfer
nonpayablefunction transfer(address to, uint256 amount) returns (bool)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
EIP712DomainChanged
event EIP712DomainChanged()
Initialized
event Initialized(address indexed executor, uint256 at)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
SetAdminAddress
event SetAdminAddress(address indexed _address)
SetAswmAddress
event SetAswmAddress(address indexed _address)
SetDeliveryFee
event SetDeliveryFee(uint256 indexed _fee)
SetfactoryAddress
event SetfactoryAddress(address indexed _address)
SetGoldRatio
event SetGoldRatio(uint256 indexed _goldRatio)
SetMinBuyAmount
event SetMinBuyAmount(uint256 indexed _minBuyAmount)
SetMinReserveAmount
event SetMinReserveAmount(uint256 indexed _minReserveAmount)
SetOracleAddress
event SetOracleAddress(address indexed _address)
SetRollOverEpochDuration
event SetRollOverEpochDuration(uint256 indexed _duration)
SetRollOverFee
event SetRollOverFee(uint256 indexed _fee)
SetrouterAddress
event SetrouterAddress(address indexed _address)
SetStreemURL
event SetStreemURL(string indexed _url)
SetToggleStatus
event SetToggleStatus(bool indexed _status)
SetTransferFee
event SetTransferFee(uint256 indexed _fee)
SetUsdcAddress
event SetUsdcAddress(address indexed _address)
SetUsdtAddress
event SetUsdtAddress(address indexed _address)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
errors
No errors.
creation bytecode
0x60808060405234610016576149e0908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816302b2988d14612fdf5750806302d4545714612fb557806306fdde0314612f0f578063095ea7b314612ee85780630cb46b7514612e5f578063119ccc8e14612e4057806311b2737814612d8c578063135ec41714611cd657806318160ddd14612d6e57806323b872dd14612ca357806325dfe57714612b3d5780632c1e816d14612ab65780632c5623e214612a41578063313ce56714612a255780633268cc56146129fb578063359521cf146129945780633644e5151461297957806339509351146129295780633f5c13501461290a57806340c10f19146128c257806340facd24146128825780634189a68e146124e257806341cb87fc1461245957806342966c681461243b5780634b94f50e146124185780634c69c00f1461238f578063556a4ffb1461226a5780635601587a146121ef578063601deb4f1461218857806363577345146120f75780636d9b1ccf146120cd57806370a0823114612094578063715018a61461203357806379cc6790146120025780637ecebe0014611fc957806383c17c5514611f4057806384b0196e14611e0b5780638579b6ec14611da457806387d96cd014611d855780638da5cb5b14611d5c5780638f02bb5b14611cf55780639032c0ae14611cd657806395d89b4114611c08578063966dae0e14611bde5780639ab4a44514611bb4578063a457c2d714611b0f578063a89ae4ba14611ae5578063a9059cbb14611a22578063aad3ec961461183a578063acb2ad6f1461181b578063b76544eb14610cc2578063b8b9157314610c5b578063c02857bd14610c37578063cce7ec1314610b4c578063d38bcdee14610ac3578063d3f4cd4f14610a7b578063d494c38814610a05578063d505accf1461084d578063d66bd52414610813578063dd62ed3e146107c4578063e1235d42146106ea578063f1499eec146106cb578063f29967e314610493578063f2fde38b14610400578063f3cc0f1f146103e1578063f66bf229146103c2578063f94b447f146103395763fc6f94681461030d57600080fd5b34610336578060031936011261033657610130546040516001600160a01b039091168152602090f35b80fd5b5034610336576020366003190112610336576103536130d0565b610130546001600160a01b0391908216331480156103b5575b61037590613a20565b16610131816001600160601b0360a01b825416179055604051907fb972fba497dc92b8ab4a4ee83afd5d301925200053943c6d9d0c474a9d1796a88383a2f35b506033548216331461036c565b5034610336578060031936011261033657602061013c54604051908152f35b5034610336578060031936011261033657602061013754604051908152f35b50346103365760203660031901126103365761041a6130d0565b61042261331d565b6001600160a01b0381161561043f5761043a90613375565b604051f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346103365760c0366003190112610336576104ad6130d0565b6024356064359160ff83168093036106b4576104ce60ff61013e5416613b33565b6001600160a01b038181166104e530821415613b92565b6104f0841515613bec565b6040516370a0823160e01b815233600482015260209587918781602481875afa80156106c05787918491610685575b509061052c911015613c38565b823b15610681576040519063d505accf60e01b82523360048301523060248301528660448301526044356064830152608482015260843560a482015260a43560c4820152818160e48183875af180156106765761065e575b50508161013454169081811490811561064f575b50156105ac57505061043a925033906140f9565b6101335460405163e6a4390560e01b81526001600160a01b038581166004830152929092166024830152909392919085908590604490829085165afa9384156106445761043a95879561060f575b50506106099084161515613cae565b3361449f565b610609929550908161063592903d1061063d575b61062d81836132fc565b810190613c8f565b9390386105fa565b503d610623565b6040513d88823e3d90fd5b90508261014054161438610598565b610667906132ce565b610672578538610584565b8580fd5b6040513d84823e3d90fd5b5080fd5b935050508682813d83116106b9575b61069e81836132fc565b810103126106b45761052c86899351909161051f565b600080fd5b503d610694565b6040513d85823e3d90fd5b5034610336578060031936011261033657602061013954604051908152f35b5034610336578060031936011261033657604051600061013d805461070e81613169565b8085529160019180831690811561079a5750600114610750575b61074c85610738818703826132fc565b6040519182916020835260208301906130fc565b0390f35b6000908152925060008051602061498b8339815191525b8284106107825750505081016020016107388261074c610728565b80546020858701810191909152909301928101610767565b86955061074c9693506020925061073894915060ff191682840152151560051b8201019293610728565b5034610336576040366003190112610336576107de6130d0565b60406107e86130e6565b9260018060a01b03809316815260666020522091166000526020526020604060002054604051908152f35b5034610336576020366003190112610336576020906040906001600160a01b0361083b6130d0565b16815261013f83522054604051908152f35b50346103365760e0366003190112610336576108676130d0565b61086f6130e6565b6044359060843560643560ff821682036106b4578042116109c05760018060a01b03908186169283885260fd60205260408820908154916001830190556040519260208401927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452866040860152858816606086015288608086015260a085015260c084015260c0835260e08301918383106001600160401b038411176109aa576109569361094e93604052519020610927613831565b906040519161190160f01b83526002830152602282015260c43591604260a43592206137a2565b919091613688565b16036109655761043a926133e3565b60405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606490fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606490fd5b5034610336576020366003190112610336576101305460043590610a3e90336001600160a01b0391821614908115610a6d575b50613a20565b8061013c55604051907f85263a8dc1b31bb79a9f03ad659e0d8b92850ffe3353db65a88a43623260af458383a2f35b905060335416331438610a38565b50346103365760203660031901126103365761013054610aaf90336001600160a01b0391821614908115610a6d5750613a20565b61043a610abd600435613a5f565b30613a8f565b503461033657602036600319011261033657610add6130d0565b610130546001600160a01b039190821633148015610b3f575b610aff90613a20565b16610134816001600160601b0360a01b825416179055604051907f679d5e7235288f8dd8d20c5bb92b07ce54094ee55527c8f74f863ed4fe411a8b8383a2f35b5060335482163314610af6565b503461033657604036600319011261033657610b666130d0565b602435610b7860ff61013e5416613b33565b6001600160a01b038281169290610b9130851415613b92565b610b9c831515613bec565b6040516370a0823160e01b8152336004820152602094908581602481855afa8015610c2c5785908890610bfb575b610bd692501015613c38565b8161013454169081811490811561064f5750156105ac57505061043a925033906140f9565b50508581813d8311610c25575b610c1281836132fc565b810103126106b45784610bd69151610bca565b503d610c08565b6040513d89823e3d90fd5b5034610336578060031936011261033657602060ff61013e54166040519015158152f35b5034610336576020366003190112610336576101305460043590610c9390336001600160a01b0391821614908115610a6d5750613a20565b8061013755604051907f655a270a99c30719f890ce05919743c1baed4538c166ad3bdb3d64fefe1de50c8383a2f35b5034610336576101c036600319011261033657610cdd6130d0565b90610ce66130e6565b6044356001600160a01b038116908190036106b4576064356001600160a01b038116908190036106b4576084356001600160a01b03811693908490036106b457610184356001600160401b03811161067257610d4690369060040161313c565b9490966101a4359384151585036106b45787549560ff8760081c16159687809861180e575b80156117f7575b1561179b5760ff1981166001178a558761178a575b506001600160601b0360a01b9461013033878254161790556101329060018060a01b031686825416179055610133908582541617905561013490848254161790556101319060018060a01b0316838254161790556101359182541617905560a4356101365560c4356101375560e4356101385561010435610139556101243561013a5561014492833561013b556101643561013c556001600160401b0381116112945761013d90610e4181610e3c8454613169565b613945565b8086601f9889831160011461171957889261170e575b50508160011b916000199060031b1c19161790555b61013e9060ff801983541691151516179055610e888254613169565b8481116116c6575b50601a6c11da5b589d5d1a5cc811dbdb19609a1b0182556101458054610eb590613169565b85811161167e575b506002603160f81b018082556040518454603160f81b9391600081610ee184613169565b918282526020998a8301958b600182169182600014611660575050600114611604575b50610f11925003826132fc565b5190206101425560405190816000610f2885613169565b9283835288830195896001821691826000146115e657505060011461158a575b50610f55925003826132fc565b51902061014355835b6032811061155e5750610f8060ff855460081c16610f7b816139c0565b6139c0565b610f8933613375565b610f91613997565b60405190610f9e826132e1565b60048252634758415560e01b85830152610fc260ff875460081c16610f7b816139c0565b8051906001600160401b03821161154a578190610fe0606854613169565b8981116114fe575b50869089831160011461147b578892611470575b50508160011b916000199060031b1c1916176068555b8051906001600160401b038211611382578190611030606954613169565b888111611424575b5085908883116001146113a1578792611396575b50508160011b916000199060031b1c1916176069555b61106a613997565b61109860ff865460081c1661107e816139c0565b6040519361108b856132e1565b60018552868501526139c0565b8051906001600160401b0382116113825781906110b660cb54613169565b888111611336575b5085908883116001146112b35787926112a8575b50508160011b916000199060031b1c19161760cb555b8051906001600160401b0382116112945761110460cc54613169565b86811161123e575b50839582116001146111bd5794849582939495926111b2575b50508160011b916000199060031b1c19161760cc555b8260c9558260ca556040514381527f25ff68dd81b34665b5ba7e553ee5511bf6812e12adb4a7e2c0d9e26b3099ce79833392a2611179575b50604051f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061ff0019835416835560405160018152a138611173565b015190503880611125565b60cc8552601f198216957f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe91865b8881106112275750836001959697981061120e575b505050811b0160cc5561113b565b015160001960f88460031b161c19169055388080611200565b9192866001819286850151815501940192016111eb565b6112859060cc6000527f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe8880860160051c82019288871061128b575b0160051c019061392e565b3861110c565b9250819261127a565b634e487b7160e01b85526041600452602485fd5b0151905038806110d2565b60cb88527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb9250601f198416885b88828210611320575050908460019594939210611307575b505050811b0160cb556110e8565b015160001960f88460031b161c191690553880806112f9565b60018596829396860151815501950193016112e1565b61137c9060cb6000527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb8a80860160051c8201928a871061128b570160051c019061392e565b386110be565b634e487b7160e01b86526041600452602486fd5b01519050388061104c565b606988527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143089250601f198416885b8882821061140e5750509084600195949392106113f5575b505050811b01606955611062565b015160001960f88460031b161c191690553880806113e7565b60018596829396860151815501950193016113cf565b61146a9060696000527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143088a80860160051c8201928a871061128b570160051c019061392e565b38611038565b015190503880610ffc565b606889527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977539250601f198416895b898282106114e85750509084600195949392106114cf575b505050811b01606855611012565b015160001960f88460031b161c191690553880806114c1565b60018596829396860151815501950193016114a9565b6115449060686000527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977538b80860160051c8201928b871061128b570160051c019061392e565b38610fe8565b634e487b7160e01b87526041600452602487fd5b84816101460155600019811461157657600101610f5e565b634e487b7160e01b85526011600452602485fd5b91505060005281867fed95984add84c4014c7f9d66a1b73e788e2db64f5763fa861ad52da204f71b2b6000905b8482106115cd5750610f55935082010138610f48565b60019193508054838588010152019101879084926115b7565b60ff19168852610f5595151560051b8501019250389150610f489050565b91505060005281887fc4c2ef8194275e8aa8ec1118b6dc4bc43d1e218201f213c08c87ae45e7ea63d66000905b8482106116475750610f11935082010138610f04565b6001919350805483858801015201910189908492611631565b60ff19168852610f1195151560051b8501019250389150610f049050565b81600052857fed95984add84c4014c7f9d66a1b73e788e2db64f5763fa861ad52da204f71b2b910160051c8101905b8181106116ba5750610ebd565b600081556001016116ad565b82600052847fc4c2ef8194275e8aa8ec1118b6dc4bc43d1e218201f213c08c87ae45e7ea63d6910160051c8101905b8181106117025750610e90565b600081556001016116f5565b013590503880610e57565b84895260008051602061498b833981519152925090601f198416895b8181106117725750908460019594939210611758575b505050811b019055610e6c565b0135600019600384901b60f8161c1916905538808061174b565b91936020600181928787013581550195019201611735565b61ffff191661010117895538610d87565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610d725750600160ff821614610d72565b50600160ff821610610d6b565b5034610336578060031936011261033657602061013654604051908152f35b5034610336576040366003190112610336576118546130d0565b9060243560018060a01b03809381610130541633148015611a15575b61187990613a20565b16604051936370a0823160e01b85523060048601526020948581602481865afa908115611a0a5790849186916119d9575b5010611982579383946101405416821460001461191b5750803b156119175760405163a9059cbb60e01b8152336004820152602481019290925282908290604490829084905af1801561067657611903575b5050604051f35b61190c906132ce565b6103365780386118fc565b5050fd5b60405163a9059cbb60e01b8152336004820152602481019390935292839183916044918391905af180156106c057611954575050604051f35b8161197392903d1061197b575b61196b81836132fc565b8101906143ea565b5038806118fc565b503d611961565b60405162461bcd60e51b815260048101869052602960248201527f475841553a20546f6f20736d616c6c20636f6e74726163742062616c616e636560448201526820746f20636c61696d60b81b6064820152608490fd5b809250878092503d8311611a03575b6119f281836132fc565b810103126106b457839051386118aa565b503d6119e8565b6040513d87823e3d90fd5b5060335482163314611870565b503461033657604036600319011261033657611a79611a3f6130d0565b60243590611a5260ff61013e5416613b33565b816101365480151580611adc575b80611ac6575b80611ab1575b611a84575b505033613d4a565b602060405160018152f35b611aa9929350611a976127109183613a7c565b0490611aa4823033613d4a565b613f1d565b908380611a71565b506033546001600160a01b0316331415611a6c565b50610130546001600160a01b0316331415611a66565b50333b15611a60565b5034610336578060031936011261033657610135546040516001600160a01b039091168152602090f35b503461033657604036600319011261033657611b296130d0565b60406024359233815260666020522060018060a01b03821660005260205260406000205491808310611b6157611a79920390336133e3565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b5034610336578060031936011261033657610140546040516001600160a01b039091168152602090f35b5034610336578060031936011261033657610133546040516001600160a01b039091168152602090f35b50346103365780600319360112610336576040516000606954611c2a81613169565b80845290600190818116908115611caf5750600114611c54575b61074c84610738818603826132fc565b6069600090815292507f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143085b828410611c9757505050810160200161073882611c44565b80546020858701810191909152909301928101611c7f565b60ff191660208087019190915292151560051b850190920192506107389150839050611c44565b5034610336578060031936011261033657602061014154604051908152f35b5034610336576020366003190112610336576101305460043590611d2d90336001600160a01b0391821614908115610a6d5750613a20565b8061013655604051907f7a85e8a0c3f3d4bafa6ac516212f769dfdb9bbf7c6f058d391aa03b0596212438383a2f35b50346103365780600319360112610336576033546040516001600160a01b039091168152602090f35b5034610336578060031936011261033657602061013b54604051908152f35b5034610336576020366003190112610336576101305460043590611ddc90336001600160a01b0391821614908115610a6d5750613a20565b8061013955604051907f31083e92c203d351f65d06da40f99f6df9f1256568928b61e2a50f74226afbb08383a2f35b503461033657806003193601126103365760c9541580611f36575b15611ef95760405190611e4382611e3c816131a3565b03836132fc565b60405190611e5482611e3c81613247565b60405190602090818301938385106001600160401b038611176109aa5792828593611eaf8896611ea198604052858552604051988998600f60f81b8a5260e0858b015260e08a01906130fc565b9088820360408a01526130fc565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110611ee257505050500390f35b835185528695509381019392810192600101611ed3565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b5060ca5415611e26565b503461033657602036600319011261033657611f5a6130d0565b610130546001600160a01b039190821633148015611fbc575b611f7c90613a20565b16610133816001600160601b0360a01b825416179055604051907f81d056fd530fde91c5882d09ccc04a5579299f5f4629029a8b5cf0de5d96b8488383a2f35b5060335482163314611f73565b5034610336576020366003190112610336576020906040906001600160a01b03611ff16130d0565b16815260fd83522054604051908152f35b50346103365760403660031901126103365761043a61201f6130d0565b6024359061202e8233836135f0565b6134e5565b503461033657806003193601126103365761204c61331d565b603380546001600160a01b03198116909155604051906000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b5034610336576020366003190112610336576020906040906001600160a01b036120bc6130d0565b168152606583522054604051908152f35b5034610336578060031936011261033657610131546040516001600160a01b039091168152602090f35b5034610336576020366003190112610336576121116130d0565b610131546001600160a01b039061212b9082163314613d0c565b811680835261217761013f928360205261214a60408620541515613eba565b8285528360205261217060408620546127106121696101375483613a7c565b0490613f1d565b9030613d4a565b825260205260006040822055604051f35b50346103365760203660031901126103365761013054600435906121c090336001600160a01b0391821614908115610a6d5750613a20565b8061013b55604051907f40f76756c762791fd506404bf1d7f1690ad43eccba834e44d55d789a721802b58383a2f35b5034610336576020366003190112610336576004358015158091036106b4576101305461223090336001600160a01b0391821614908115610a6d5750613a20565b61013e60ff1981541660ff8316179055604051907fe2cd88ee42799251f30c5b358144de3cb1f49381b01aec42a97db678f667aed58383a2f35b5034610336576040366003190112610336576122846130d0565b60243560018060a01b0361229e8161013154163314613d0c565b82169182845261013f80602052604085205461233657838552606560205282604086205410158061232a575b156122e55761043a9385526020528160408520553090613d4a565b60405162461bcd60e51b815260206004820152601f60248201527f475841553a20496e76616c696420616d6f756e7420666f722072656465656d006044820152606490fd5b508261013b54106122ca565b60405162461bcd60e51b815260206004820152602b60248201527f475841553a20616c726561647920686176652072656465656d2077697468207460448201526a686973206164647265737360a81b6064820152608490fd5b5034610336576020366003190112610336576123a96130d0565b610130546001600160a01b03919082163314801561240b575b6123cb90613a20565b16610135816001600160601b0360a01b825416179055604051907f0adef86c673dfdb102affe9a454acea4a42a305e1feb982b4b2c97da980454a98383a2f35b50603354821633146123c2565b5034610336578060031936011261033657602061243361400c565b604051908152f35b50346103365760203660031901126103365761043a600435336134e5565b5034610336576020366003190112610336576124736130d0565b610130546001600160a01b0391908216331480156124d5575b61249590613a20565b16610132816001600160601b0360a01b825416179055604051907f350388f67d472de0974340df28617c64044ca1608d8f116f7fb2c287b185f6c98383a2f35b506033548216331461248c565b503461033657604036600319011261033657600435906125006130e6565b9161251060ff61013e5416613b33565b3382526020606581528160408420541061283e57610134546001600160a01b03948516908516811494858015612830575b156127ed576101355416604051633fabe5a360e21b815260a081600481855afa908115610644576125a261259c60049387938a916127ba575b506125868a8213613fa0565b60646125956101415483613a7c565b04906133c0565b87613a7c565b926040519283809263313ce56760e01b82525afa90811561064457600c9160ff91889161278d575b50160160ff811161277957906125e26125e892613f43565b90613efd565b6040516370a0823160e01b81523060048201528381602481865afa908115610644579082918791612748575b50106126f157849560001461268e5760405163a9059cbb60e01b8152336004820152602481019190915293829185916044918391905af19283156126835761043a93612665575b50505b3033613d4a565b8161267b92903d1061197b5761196b81836132fc565b50388061265b565b6040513d86823e3d90fd5b908092509392933b156126ed5760405163a9059cbb60e01b8152336004820152602481019190915291908290604490829084905af180156106c0576126d8575b5061043a9061265e565b916126e661043a92936132ce565b91906126ce565b8280fd5b60405162461bcd60e51b815260048101849052602960248201527f475841553a20546f6f20736d616c6c20636f6e74726163742062616c616e636560448201526808199bdc881cd95b1b60ba1b6064820152608490fd5b809250858092503d8311612772575b61276181836132fc565b810103126106725781905138612614565b503d612757565b634e487b7160e01b86526011600452602486fd5b6127ad9150863d88116127b3575b6127a581836132fc565b810190613f2a565b386125ca565b503d61279b565b6127db915060a03d81116127e6575b6127d381836132fc565b810190613f6b565b50505090503861257a565b503d6127c9565b6064836040519062461bcd60e51b825280600483015260248201527f475841553a2053656c6c20666f722055534443206f722055534454206f6e6c796044820152fd5b508061014054168214612541565b6064906040519062461bcd60e51b82526004820152601c60248201527f475841553a20546f6f20736d616c6c20757365722062616c616e6365000000006044820152fd5b503461033657602036600319011261033657610130546128b690336001600160a01b0391821614908115610a6d5750613a20565b60043561014155604051f35b50346103365760403660031901126103365761043a6128df6130d0565b6101305461290190336001600160a01b0391821614908115610a6d5750613a20565b60243590613a8f565b5034610336578060031936011261033657602061013854604051908152f35b503461033657604036600319011261033657611a799061297261294a6130d0565b9133815260666020526040812060018060a01b038416825260205260406024359120546133c0565b90336133e3565b50346103365780600319360112610336576020612433613831565b50346103365760203660031901126103365761013054600435906129cc90336001600160a01b0391821614908115610a6d5750613a20565b8061013855604051907f9fe5988aa614714d05ed1bb5d1426bc00563239ea39f54ec166ed935a919da2a8383a2f35b5034610336578060031936011261033657610132546040516001600160a01b039091168152602090f35b5034610336578060031936011261033657602060405160128152f35b503461033657602036600319011261033657612a5b6130d0565b610131546001600160a01b039190612a769083163314613d0c565b1680825261013f9081602052612a9160408420541515613eba565b80835281602052612aa66040842054306134e5565b8252602052806040812055604051f35b503461033657602036600319011261033657612ad06130d0565b6101308054916001600160a01b039033828516148015612b30575b612af490613a20565b1680926001600160601b0360a01b16179055604051907f030ff471e8e3d5a26cd9ee887eb024f145aaf27e12cd2f7bdcd14aeb40cf33318383a2f35b5060335482163314612aeb565b503461033657602080600319360112610681576001600160401b03600435818111612c9f57612b7090369060040161313c565b929091612b9260018060a01b038061013054163314908115610a6d5750613a20565b8311612c8b578261013d91612bab82610e3c8554613169565b8590601f8311600114612c1a57508591612c0f575b508360011b906000198560031b1c19161790555b8160405192839283378101838152039020604051907ff14e8d34152214315d371aac7d7bfe2804854edb6b15386d5b0f65555ebbf4098383a2f35b905082013538612bc0565b91601f19811684885260008051602061498b8339815191529388905b828210612c6e57505010612c54575b5050600183811b019055612bd4565b830135600019600386901b60f8161c191690553880612c45565b80929350600185968293968a013581550195019301879291612c36565b634e487b7160e01b84526041600452602484fd5b8380fd5b503461033657606036600319011261033657611a79612cc06130d0565b612cc86130e6565b60443591612cdb60ff61013e5416613b33565b82612ce78133846135f0565b6101365480151580612d65575b80612d4c575b80612d34575b612d0c575b5050613d4a565b612d2c929450612d1f6127109183613a7c565b0490611aa4823087613d4a565b918480612d05565b506033546001600160a01b0384811691161415612d00565b50610130546001600160a01b0384811691161415612cfa565b50823b15612cf4565b50346103365780600319360112610336576020606754604051908152f35b5034610336576020366003190112610336576101305460043590612dc490336001600160a01b0391821614908115610a6d5750613a20565b8061013a5560648110612dfb57604051907f08513d9bc33791ecc9bb336328fad3f5be09fd32f794a40e2c83d8ae579c718b8383a2f35b60405162461bcd60e51b815260206004820152601e60248201527f475841553a205369766572526174696f206c657373207468616e2031303000006044820152606490fd5b5034610336578060031936011261033657602061013a54604051908152f35b503461033657602036600319011261033657612e796130d0565b610130546001600160a01b039190821633148015612edb575b612e9b90613a20565b16610140816001600160601b0360a01b825416179055604051907f1e87f8626f9b89d0b805ce1d575da72ac3b359f5e4797d8f2eecf127f6cd94ab8383a2f35b5060335482163314612e92565b503461033657604036600319011261033657611a79612f056130d0565b60243590336133e3565b50346103365780600319360112610336576040519080606854612f3181613169565b8085529160019180831690811561079a5750600114612f5a5761074c85610738818703826132fc565b9250606883527fa2153420d844928b4421650203c77babc8b33d7f2e7b450e2966db0c220977535b828410612f9d5750505081016020016107388261074c610728565b80546020858701810191909152909301928101612f82565b5034610336578060031936011261033657610134546040516001600160a01b039091168152602090f35b90503461068157602090816003193601126126ed57612ffc6130d0565b610133546101345463e6a4390560e01b84526001600160a01b0383811660048601529081166024850152929084908290604490829087165afa928315611a0a57849186946130ac575b50908161305760049386161515613cae565b60405163313ce56760e01b8152928391829086165afa908115611a0a579394612433946130899261308f575b50613f43565b916147a6565b6130a69150863d88116127b3576127a581836132fc565b38613083565b829194506130c8906004933d841161063d5761062d81836132fc565b939091613045565b600435906001600160a01b03821682036106b457565b602435906001600160a01b03821682036106b457565b919082519283825260005b848110613128575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201613107565b9181601f840112156106b4578235916001600160401b0383116106b457602083818601950101116106b457565b90600182811c92168015613199575b602083101461318357565b634e487b7160e01b600052602260045260246000fd5b91607f1691613178565b60cb54600092916131b382613169565b8082529160019081811690811561322a57506001146131d157505050565b9192935060cb6000527fa7ce836d032b2bf62b7e2097a8e0a6d8aeb35405ad15271e96d3b0188a1d06fb916000925b84841061321257505060209250010190565b80546020858501810191909152909301928101613200565b915050602093945060ff929192191683830152151560051b010190565b60cc546000929161325782613169565b8082529160019081811690811561322a575060011461327557505050565b9192935060cc6000527f47197230e1e4b29fc0bd84d7d78966c0925452aff72a2a121538b102457e9ebe916000925b8484106132b657505060209250010190565b805460208585018101919091529093019281016132a4565b6001600160401b0381116109aa57604052565b604081019081106001600160401b038211176109aa57604052565b90601f801991011681019081106001600160401b038211176109aa57604052565b6033546001600160a01b0316330361333157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b6033549060018060a01b0380911691826001600160601b0360a01b821617603355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e06000604051a3565b919082018092116133cd57565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0390811691821561349457169182156134445760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260668252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6001600160a01b031680156135a15780600052606560205260406000205491808310613551576020817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92600095858752606584520360408620558060675403606755604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b9060018060a01b0380831660005260666020526040600020908216600052602052604060002054926000198403613628575b50505050565b8084106136435761363a9303916133e3565b38808080613622565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b600581101561378c57806136995750565b600181036136e65760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b600281036137335760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b60031461373c57565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116138255791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa156138185781516001600160a01b03811615613812579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6138396138a6565b613841613900565b6040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c081018181106001600160401b038211176109aa5760405251902090565b6040516138bd816138b6816131a3565b03826132fc565b80519081156138cd576020012090565b505060c95480156138db5790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b604051613910816138b681613247565b8051908115613920576020012090565b505060ca5480156138db5790565b818110613939575050565b6000815560010161392e565b90601f8211613952575050565b61398b9161013d60005260008051602061498b833981519152906020601f840160051c8301931061398d575b601f0160051c019061392e565b565b909150819061397e565b604051906139a4826132e1565b600d82526c11da5b589d5d1a5cc811dbdb19609a1b6020830152565b156139c757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15613a2757565b60405162461bcd60e51b815260206004820152601060248201526f23ac20aa9d1037b7363c9030b236b4b760811b6044820152606490fd5b670de0b6b3a76400009080600019048211811515166133cd570290565b80600019048211811515166133cd570290565b6001600160a01b0316908115613aee577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082613ad16000946067546133c0565b6067558484526065825260408420818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b15613b3a57565b60405162461bcd60e51b815260206004820152602a60248201527f475841553a20636f6e7472616374206973206e6f7420617661696c61626c652060448201526903934b3b43a103737bb960b51b6064820152608490fd5b15613b9957565b60405162461bcd60e51b815260206004820152602560248201527f475841553a20427579204758415520666f7220475841552069732070726f6869604482015264189a5d195960da1b6064820152608490fd5b15613bf357565b60405162461bcd60e51b815260206004820152601860248201527f475841553a2062757920616d6f756e74206973206e756c6c00000000000000006044820152606490fd5b15613c3f57565b60405162461bcd60e51b815260206004820152602260248201527f475841553a20496e76616c696420757365722062616c616e636520666f722062604482015261757960f01b6064820152608490fd5b908160209103126106b457516001600160a01b03811681036106b45790565b15613cb557565b60405162461bcd60e51b815260206004820152602960248201527f475841553a205553444320706169722077697468207468697320746f6b656e206044820152681b9bdd08195e1a5cdd60ba1b6064820152608490fd5b15613d1357565b60405162461bcd60e51b815260206004820152600f60248201526e475841553a206f6e6c79206173776d60881b6044820152606490fd5b6001600160a01b03908116918215613e675716918215613e165760008281526065602052604081205491808310613dc257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260658652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b15613ec157565b60405162461bcd60e51b815260206004820152601460248201527311d610554e8814995919595b481a5cc81b9d5b1b60621b6044820152606490fd5b8115613f07570490565b634e487b7160e01b600052601260045260246000fd5b919082039182116133cd57565b908160209103126106b4575160ff811681036106b45790565b60ff16604d81116133cd57600a0a90565b519069ffffffffffffffffffff821682036106b457565b908160a09103126106b457613f7f81613f54565b91602082015191604081015191613f9d608060608401519301613f54565b90565b15613fa757565b60405162461bcd60e51b815260206004820152602660248201527f475841553a2041676772656761746f72207072696365206c657373206f72206560448201526507175616c20360d41b6064820152608490fd5b60ff166012039060ff82116133cd57565b61013554604051633fabe5a360e21b8152906001600160a01b031660a082600481845afa9182156140c2576000926140ce575b50602060049161405160008513613fa0565b60405163313ce56760e01b815292839182905afa9081156140c25760649261409061408b6140a094614096946000916140a4575b50613ffb565b613f43565b90613a7c565b61013a5490613a7c565b0490565b6140bc915060203d81116127b3576127a581836132fc565b38614085565b6040513d6000823e3d90fd5b60049192506140ec60209160a03d81116127e6576127d381836132fc565b505050905092915061403f565b92919061410461400c565b6c0c9f2c9cd04674edea400000009083600019048211841515166133cd5761412d918402613efd565b9161013c5483106142275760003081526065602052836040822054106141e357610134546001600160a01b039687169616860361417c57506141769061398b949583309161427f565b30613d4a565b948591813b156126ed576040516323b872dd60e01b81526001600160a01b0385166004820152306024820152604481019190915291908290606490829084905af18015611a0a5761398b9495506141d4575b50614176565b6141dd906132ce565b386141ce565b606460405162461bcd60e51b815260206004820152602060248201527f475841553a204e6f7420656e6f7567682047584155206f6e2062616c616e63656044820152fd5b60405162461bcd60e51b815260206004820152602a60248201527f475841553a20546f6f20736d616c6c20616d6f756e7420746f20627579206d696044820152696e696d756d204758415560b01b6064820152608490fd5b6040516323b872dd60e01b60208083019182526001600160a01b039485166024840152949093166044820152606480820195909552938452601f19949391906142c96084846132fc565b60018060a01b0316604051926142de846132e1565b8484527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656485850152600080938192519082855af1903d156143d9573d966001600160401b038811612c8b578596976143436143519760405193601f84011601836132fc565b81528093873d92013e614402565b8051908282159283156143c1575b5050501561436a5750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6143d193508201810191016143ea565b38828161435f565b915061435193949550606091614402565b908160209103126106b4575180151581036106b45790565b919290156144645750815115614416575090565b3b1561441f5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156144775750805190602001fd5b60405162461bcd60e51b81526020600482015290819061449b9060248301906130fc565b0390fd5b909392916144c86144b982876144b361400c565b966147a6565b936144c385613a5f565b613efd565b9261013c5484106147415760009530875260206065815260409286848a2054106146e4576001600160a01b03928316916145048630898661427f565b6101328054865163095ea7b360e01b81529086166001600160a01b03166004808301919091526024820189905291929081818e81806044810103918a5af180156146da576146bd575b50865195606087018781106001600160401b038211176146aa57885260028752818701958836883787511561469757865280610134541693875194600195861015614684579082918a8a0152541696606442019586421161467157883b1561466d5799969491928e9896949164e8d4a510008b519c8d9a635c11d79560e01b8c5260a48c01958c01520460248a015260a060448a01525180925260c48801959389905b838210614643575050505050508380928692306064840152608483015203925af190811561463a575061398b94955061462b575b5030613d4a565b614634906132ce565b38614624565b513d87823e3d90fd5b9295979950929584985090808792848297511681520198019201928a979592938f999795926145f0565b8e80fd5b634e487b7160e01b8f526011855260248ffd5b634e487b7160e01b8f526032855260248ffd5b634e487b7160e01b8e526032845260248efd5b634e487b7160e01b8e526041845260248efd5b6146d390823d841161197b5761196b81836132fc565b503861454d565b88513d8f823e3d90fd5b835162461bcd60e51b815260048101839052603060248201527f475841553a204e6f7420656e6f756768204758415520746f6b656e73206f6e2060448201526f636f6e74726163742062616c616e636560801b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f475841553a20546f6f20736d616c6c204758415520616d6f756e7420666f722060448201526262757960e81b6064820152608490fd5b51906001600160701b03821682036106b457565b60408051630240bc6b60e21b81526001600160a01b03928316949293929091606083600481895afa92831561497f576000908194614928575b506001600160701b0380911693169480610134541691805163313ce56760e01b968782526020918281600481895afa90811561491d5791600461482f61408b869489966000916149065750613ffb565b9a865194859384928352165afa9081156148fb579161485c61408b82936004956000916148e45750613ffb565b9a845193848092630dfe168160e01b82525afa9283156148da57506000926148bd575b505016036148a7576125e29261489c613f9d96936148a193613a7c565b613a7c565b92613a7c565b6125e29261489c613f9d9693956148a193613a7c565b6148d39250803d1061063d5761062d81836132fc565b388061487f565b513d6000823e3d90fd5b6140bc9150843d86116127b3576127a581836132fc565b83513d6000823e3d90fd5b6140bc9150863d88116127b3576127a581836132fc565b84513d6000823e3d90fd5b93506060843d8211614977575b81614942606093836132fc565b810103126103365761495384614792565b908261496160208701614792565b95015163ffffffff8116036103365750386147df565b3d9150614935565b50513d6000823e3d90fdfe311617e6f2abe00ca92b0da56c014828817049e78441cf034e4dd4feba529625a2646970667358221220d806d56108eb2243ee98b0586431bb444f192ab2561ddc87ad4bfbda8ff97cd464736f6c63430008100033