1 tx
1 call
constructor
constructor(address _lameloContractAddress, address _ec_contract_address, address _rng)
functions
_iRnd
viewfunction _iRnd() view returns (address)
_randomReceived
viewfunction _randomReceived() view returns (bool)
_reqID
viewfunction _reqID() view returns (bytes32)
_tokenPreRevealURI
viewfunction _tokenPreRevealURI() view returns (string)
_tokenRevealedBaseURI
viewfunction _tokenRevealedBaseURI() view returns (string)
availableForge
viewfunction availableForge() view returns (uint128)
availableSales
viewfunction availableSales() view returns (uint128)
balanceOf
viewfunction balanceOf(address owner) view returns (uint256)
cardPrice
viewfunction cardPrice() view returns (uint256)
creator_fee_percentage
viewfunction creator_fee_percentage() view returns (uint256)
currentIndex
viewfunction currentIndex() view returns (uint128)
discount_end
viewfunction discount_end() view returns (uint256)
discount_start
viewfunction discount_start() view returns (uint256)
ec_contract_address
viewfunction ec_contract_address() view returns (address)
forge_end
viewfunction forge_end() view returns (uint256)
forge_start
viewfunction forge_start() view returns (uint256)
getApproved
viewfunction getApproved(uint256 tokenId) view returns (address)
getControllers
viewfunction getControllers() view returns (address[] _allowed)
getECDiscountPercentage
purefunction getECDiscountPercentage(uint256 tokenId) pure returns (uint256)
getMeloDiscountPercentage
purefunction getMeloDiscountPercentage(uint256 tokenId) pure returns (uint256)
how_long_more
viewfunction how_long_more(uint8 _phase) view returns (uint256 Days, uint256 Hours, uint256 Minutes, uint256 Seconds)
indexArray
viewfunction indexArray(address _user) view returns (uint256[])
isApprovedForAll
viewfunction isApprovedForAll(address owner, address operator) view returns (bool)
isController
viewfunction isController(address _controller) view returns (bool)
isTokenUsed
viewfunction isTokenUsed(uint16 _position) view returns (bool result)
lameloContractAddress
viewfunction lameloContractAddress() view returns (address)
maxForge
viewfunction maxForge() view returns (uint128)
maxForgeMinted
viewfunction maxForgeMinted() view returns (uint128)
maxSold
viewfunction maxSold() view returns (uint128)
maxSupply
viewfunction maxSupply() view returns (uint128)
name
viewfunction name() view returns (string)
offset
viewfunction offset() view returns (uint256)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256 tokenId) view returns (address)
revealLocked
viewfunction revealLocked() view returns (bool)
sale_end
viewfunction sale_end() view returns (uint256)
sale_start
viewfunction sale_start() view returns (uint256)
setupTime
viewfunction setupTime() view returns (bool)
shares
viewfunction shares(uint256) view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
symbol
viewfunction symbol() view returns (string)
tellEverything
viewfunction tellEverything() view returns (tuple)
tokenByIndex
viewfunction tokenByIndex(uint256 index) view returns (uint256)
tokenOfOwnerByIndex
viewfunction tokenOfOwnerByIndex(address owner, uint256 index) view returns (uint256)
tokenURI
viewfunction tokenURI(uint256 tokenId) view returns (string)
totalSupply
viewfunction totalSupply() view returns (uint256)
uri
viewfunction uri(uint256 n) view returns (uint256)
adminMint
nonpayablefunction adminMint(address _receiver, uint8 loop)
approve
nonpayablefunction approve(address to, uint256 tokenId)
approveController
nonpayablefunction approveController(address _controller)
buyCard
payablefunction buyCard(uint8 _amount) payable
buyCardWithDiscount
payablefunction buyCardWithDiscount(uint8 _amount, uint256 _ec_token_id, uint256 _melo_token_id) payable
extendTime
nonpayablefunction extendTime(uint256 _discount_end, uint256 _sale_end, uint256 _forge_end)
forge
nonpayablefunction forge(uint16[] tokenIds)
process
nonpayablefunction process(uint256 random, bytes32 reqID)
renounceOwnership
nonpayablefunction renounceOwnership()
retrieve721
nonpayablefunction retrieve721(address _tracker, uint256 _id)
retrieveERC20
nonpayablefunction retrieveERC20(address _token)
reveal
nonpayablefunction reveal()
revokeController
nonpayablefunction revokeController(address _controller)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId, bytes _data)
safeTransferFrom
nonpayablefunction safeTransferFrom(address from, address to, uint256 tokenId)
setApprovalForAll
nonpayablefunction setApprovalForAll(address operator, bool approved)
setDataFolder
nonpayablefunction setDataFolder(string __tokenPreRevealURI, bool _resetReveal)
setTime
nonpayablefunction setTime(uint256 _discount_start, uint256 _sale_start, uint256 _forge_start, address[] _wallets, uint256[] _shares)
setWallets
nonpayablefunction setWallets(address[] _wallets, uint256[] _shares)
transferFrom
nonpayablefunction transferFrom(address from, address to, uint256 tokenId)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
Approval
event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId)
ApprovalForAll
event ApprovalForAll(address indexed owner, address indexed operator, bool approved)
ApprovedController
event ApprovedController(address indexed account, address indexed sender)
buyWithDiscount
event buyWithDiscount(address indexed _buyer, uint8 __amount, uint256 __ec_token_id, uint256 __melo_token_id)
buyWithoutDiscount
event buyWithoutDiscount(address indexed _buyer, uint8 __amount)
forgeWith
event forgeWith(uint16 _Gold_Sun, uint16 _Silver_Moon, uint16 _Blue_Neptune, uint16 _Bronze_Saturn)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RandomProcessed
event RandomProcessed(uint256 _offset)
RevokedController
event RevokedController(address indexed account, address indexed sender)
Transfer
event Transfer(address indexed from, address indexed to, uint256 indexed tokenId)
errors
No errors.
creation bytecode
0x67030d98d59a960000601055600a6012556000601955601a80546001600160801b03199081166083176001600160801b0316909155601b8054909116610d29179055601e805460ff19169055610100604052605660808181529062005ac760a03980516200007691602291602090910190620001d3565b503480156200008457600080fd5b5060405162005b1d38038062005b1d833981016040819052620000a79162000279565b604080518082018252601881527f4c614d656c6f2042616c6c20436f6c6c65637469626c657300000000000000006020808301918252835180850190945260038452624c424360e81b9084015281519192916200010791600091620001d3565b5080516200011d906001906020840190620001d3565b5050506200013a620001346200017d60201b60201c565b62000181565b600d80546001600160a01b039485166001600160a01b031991821617909155600e805493851693821693909317909255600f805491909316911617905562000322565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b828054620001e190620002cc565b90600052602060002090601f01602090048101928262000205576000855562000250565b82601f106200022057805160ff191683800117855562000250565b8280016001018555821562000250579182015b828111156200025057825182559160200191906001019062000233565b506200025e92915062000262565b5090565b5b808211156200025e576000815560010162000263565b6000806000606084860312156200028e578283fd5b83516200029b8162000309565b6020850151909350620002ae8162000309565b6040850151909250620002c18162000309565b809150509250925092565b600281046001821680620002e157607f821691505b602082108114156200030357634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b03811681146200031f57600080fd5b50565b61579580620003326000396000f3fe6080604052600436106104335760003560e01c8063848628bf11610228578063b9b994d711610128578063d1be750b116100bb578063de34bacd1161008a578063e985e9c51161006f578063e985e9c514610b6f578063ece8ea4e14610b8f578063f2fde38b14610ba457610443565b8063de34bacd14610b45578063e895510d14610b5a57610443565b8063d1be750b14610ace578063d555654414610afb578063d5abeb0114610b10578063d7c48e7a14610b2557610443565b8063c87b56dd116100f7578063c87b56dd14610a64578063cd627ef514610a84578063ce3bca8514610aa4578063d18d325414610ab957610443565b8063b9b994d714610a05578063be2b089f14610a1a578063c094303914610a2f578063c2ef7f5414610a4f57610443565b8063a22cb465116101bb578063b103dd291161018a578063b46bc2691161016f578063b46bc269146109ae578063b4e8a6c4146109c3578063b88d4fde146109e557610443565b8063b103dd291461096e578063b429afeb1461098e57610443565b8063a22cb465146108f9578063a475b5dd14610919578063a5b3abfb1461092e578063b0c902e01461094e57610443565b8063917c6c68116101f7578063917c6c681461088f57806392ccacda146108af57806393647ecb146108c457806395d89b41146108e457610443565b8063848628bf146108305780638b3e76fd146108455780638da5cb5b146108655780638e74955b1461087a57610443565b806342842e0e1161033357806366232675116102c6578063715018a6116102955780637a7b81181161027a5780637a7b8118146107e65780637d212732146108065780637d8d91871461081b57610443565b8063715018a6146107b15780637275bcc1146107c657610443565b806366232675146107475780636d26620e1461076757806370a082311461077c578063713d7c351461079c57610443565b806357a858fc1161030257806357a858fc146106dd5780635873ce77146106fd5780635fcc5adf146107125780636352211e1461072757610443565b806342842e0e1461065a578063457a89911461067a5780634607fb66146106aa5780634f6ccce7146106bd57610443565b806323b872dd116103c65780632f745c591161039557806337dfcaac1161037a57806337dfcaac146106105780633b8b0b35146106255780633d64ac9b1461063a57610443565b80632f745c59146105db5780632feb9524146105fb57610443565b806323b872dd1461056257806326987b60146105825780632e5c0fe7146105a45780632f151b76146105b957610443565b80630ad2db6d116104025780630ad2db6d146104ed5780630d1bc631146105005780630e89341c1461052057806318160ddd1461054d57610443565b806301ffc9a71461044857806306fdde031461047e578063081812fc146104a0578063095ea7b3146104cd57610443565b366104435761044134610bc4565b005b600080fd5b34801561045457600080fd5b50610468610463366004614284565b610d1f565b60405161047591906145fc565b60405180910390f35b34801561048a57600080fd5b50610493610d65565b6040516104759190614610565b3480156104ac57600080fd5b506104c06104bb366004614336565b610df7565b60405161047591906144ea565b3480156104d957600080fd5b506104416104e8366004614121565b610e3a565b6104416104fb366004614418565b610ed2565b34801561050c57600080fd5b5061046861051b366004614314565b610f79565b34801561052c57600080fd5b5061054061053b366004614336565b611007565b6040516104759190614607565b34801561055957600080fd5b5061054061102e565b34801561056e57600080fd5b5061044161057d366004614037565b611034565b34801561058e57600080fd5b5061059761106c565b60405161047591906152ba565b3480156105b057600080fd5b5061054061107b565b3480156105c557600080fd5b506105ce611081565b6040516104759190615261565b3480156105e757600080fd5b506105406105f6366004614121565b6110f3565b34801561060757600080fd5b50610493611148565b34801561061c57600080fd5b506104686111d6565b34801561063157600080fd5b506105406111df565b34801561064657600080fd5b5061044161065536600461434e565b6111e5565b34801561066657600080fd5b50610441610675366004614037565b6112cf565b34801561068657600080fd5b5061069a610695366004614418565b6112ea565b6040516104759493929190615303565b6104416106b8366004614432565b6113d0565b3480156106c957600080fd5b506105406106d8366004614336565b61147e565b3480156106e957600080fd5b506105406106f8366004614336565b6114d9565b34801561070957600080fd5b506105406114fa565b34801561071e57600080fd5b50610468611500565b34801561073357600080fd5b506104c0610742366004614336565b611510565b34801561075357600080fd5b50610441610762366004613fc7565b611545565b34801561077357600080fd5b506104936115f1565b34801561078857600080fd5b50610540610797366004613fc7565b6115fe565b3480156107a857600080fd5b506104c0611642565b3480156107bd57600080fd5b50610441611651565b3480156107d257600080fd5b506104416107e136600461439a565b61169c565b3480156107f257600080fd5b506104416108013660046142bc565b61179a565b34801561081257600080fd5b50610540611814565b34801561082757600080fd5b5061059761181a565b34801561083c57600080fd5b50610597611829565b34801561085157600080fd5b50610441610860366004613fc7565b61183f565b34801561087157600080fd5b506104c06118ea565b34801561088657600080fd5b506104c06118f9565b34801561089b57600080fd5b506105406108aa366004614336565b611908565b3480156108bb57600080fd5b50610540611956565b3480156108d057600080fd5b506104416108df36600461414c565b61195c565b3480156108f057600080fd5b50610493611a0e565b34801561090557600080fd5b506104416109143660046140f4565b611a1d565b34801561092557600080fd5b50610441611a2f565b34801561093a57600080fd5b50610441610949366004614121565b611baf565b34801561095a57600080fd5b506104416109693660046141e1565b611c6d565b34801561097a57600080fd5b50610441610989366004613fc7565b6124fa565b34801561099a57600080fd5b506104686109a9366004613fc7565b612692565b3480156109ba57600080fd5b506105976126c1565b3480156109cf57600080fd5b506109d86126ec565b6040516104759190614577565b3480156109f157600080fd5b50610441610a00366004614077565b6127b7565b348015610a1157600080fd5b506105406127f0565b348015610a2657600080fd5b506104c06127f6565b348015610a3b57600080fd5b50610540610a4a366004614336565b612805565b348015610a5b57600080fd5b50610468612841565b348015610a7057600080fd5b50610493610a7f366004614336565b61284a565b348015610a9057600080fd5b50610441610a9f36600461436f565b612a3f565b348015610ab057600080fd5b50610597612a8e565b348015610ac557600080fd5b50610597612aa4565b348015610ada57600080fd5b50610aee610ae9366004613fc7565b612aca565b60405161047591906145c4565b348015610b0757600080fd5b50610540612c78565b348015610b1c57600080fd5b50610597612c7e565b348015610b3157600080fd5b50610441610b40366004614180565b612c8d565b348015610b5157600080fd5b50610540612d16565b348015610b6657600080fd5b50610540612d1c565b348015610b7b57600080fd5b50610468610b8a366004613fff565b612d22565b348015610b9b57600080fd5b50610540612d50565b348015610bb057600080fd5b50610441610bbf366004613fc7565b612d56565b60008060005b602454811015610d195760006103e860238381548110610bfa57634e487b7160e01b600052603260045260246000fd5b906000526020600020015486610c109190615546565b610c1a91906153f9565b602454909150610c2c906001906155a8565b821415610c4457610c3d83866155a8565b9050610c51565b610c4e81846153c0565b92505b60248281548110610c7257634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546040516001600160a01b03909116908290610c98906144e7565b60006040518083038185875af1925050503d8060008114610cd5576040519150601f19603f3d011682016040523d82523d6000602084013e610cda565b606091505b50508094505083610d065760405162461bcd60e51b8152600401610cfd906148bb565b60405180910390fd5b5080610d1181615665565b915050610bca565b50505050565b60006001600160e01b031982167f780e9d63000000000000000000000000000000000000000000000000000000001480610d5d5750610d5d82612dc4565b90505b919050565b606060008054610d74906155eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610da0906155eb565b8015610ded5780601f10610dc257610100808354040283529160200191610ded565b820191906000526020600020905b815481529060010190602001808311610dd057829003601f168201915b5050505050905090565b6000610e0282612e36565b610e1e5760405162461bcd60e51b8152600401610cfd90614cd6565b506000908152600460205260409020546001600160a01b031690565b6000610e4582611510565b9050806001600160a01b0316836001600160a01b03161415610e795760405162461bcd60e51b8152600401610cfd90614eb6565b806001600160a01b0316610e8b612e53565b6001600160a01b03161480610ea75750610ea781610b8a612e53565b610ec35760405162461bcd60e51b8152600401610cfd90614b53565b610ecd8383612e57565b505050565b601b54600160801b900460ff16610efb5760405162461bcd60e51b8152600401610cfd906149bd565b60175442118015610f0d575060185442105b610f295760405162461bcd60e51b8152600401610cfd9061504c565b610f3581600080612ec5565b336001600160a01b03167ffa7834a1093287aa2ad7d58c362e5c73de010ba8c4ff5a2e56443e9cd6d67e1e82604051610f6e919061531e565b60405180910390a250565b600080610f876008846153d8565b90506000610f96826008615525565b610fa0908561558d565b61ffff831660009081526011602052604090205460ff918216925016610fcb57600092505050610d60565b610fd6816002615453565b610fe1906001615546565b61ffff9092166000908152601160205260409020549190911660ff161515915050919050565b601b54601d546000916001600160801b03169061102490846153c0565b610d5d91906156a0565b60085490565b61104561103f612e53565b82613164565b6110615760405162461bcd60e51b8152600401610cfd90614f81565b610ecd8383836131e9565b6019546001600160801b031681565b60175481565b611089613d26565b6040518061010001604052806013548152602001601454815260200160155481526020016016548152602001601754815260200160185481526020016110cd6126c1565b6001600160801b031681526020016110e3612aa4565b6001600160801b03169052905090565b60006110fe836115fe565b821061111c5760405162461bcd60e51b8152600401610cfd906146ff565b506001600160a01b03821660009081526006602090815260408083208484529091529020545b92915050565b60228054611155906155eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611181906155eb565b80156111ce5780601f106111a3576101008083540402835291602001916111ce565b820191906000526020600020905b8154815290600101906020018083116111b157829003601f168201915b505050505081565b601e5460ff1681565b60125481565b600f546001600160a01b0316331461120f5760405162461bcd60e51b8152600401610cfd90615015565b8060205414156112b35760215460ff161561123c5760405162461bcd60e51b8152600401610cfd9061494f565b601b54611253906001600160801b03166001615395565b611266906001600160801b0316836156a0565b601d8190556040517fff74eb8ed2a85f7032abbd6ce624acfda4ace664c3cc8ad760c0fd30c9d7eed99161129991614607565b60405180910390a16021805460ff191660011790556112cb565b60405162461bcd60e51b8152600401610cfd9061484d565b5050565b610ecd838383604051806020016040528060008152506127b7565b60008060008060008560ff16600114156113075750601554611345565b8560ff166002141561131c5750601754611345565b8560ff16600314156113315750601354611345565b6000806000809450945094509450506113c9565b8042106113645760405162461bcd60e51b8152600401610cfd906151bc565b600061137042836155a8565b905061137f62015180826153f9565b955061138e62015180826156a0565b905061139c610e10826153f9565b94506113aa610e10826156a0565b90506113b7603c826153f9565b93506113c4603c826156a0565b925050505b9193509193565b601b54600160801b900460ff166113f95760405162461bcd60e51b8152600401610cfd906149bd565b601554421015801561140d57506016544211155b6114295760405162461bcd60e51b8152600401610cfd906149f4565b611434838383612ec5565b336001600160a01b03167fb87325fe1c40b5db2e3c6577b9ba5e63963112ed87b785bdbfd13ec8fd91521b8484846040516114719392919061532c565b60405180910390a2505050565b600061148861102e565b82106114a65760405162461bcd60e51b8152600401610cfd90615083565b600882815481106114c757634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b602381815481106114e957600080fd5b600091825260209091200154905081565b60135481565b601b54600160801b900460ff1681565b6000818152600260205260408120546001600160a01b031680610d5d5760405162461bcd60e51b8152600401610cfd90614c44565b61154d612e53565b6001600160a01b031661155e6118ea565b6001600160a01b0316146115845760405162461bcd60e51b8152600401610cfd90614d22565b61158f600b82613316565b156115ac5760405162461bcd60e51b8152600401610cfd90614deb565b6115b7600b82613332565b5060405133906001600160a01b038316907fde4bbadbdbd1ed4cfc0454fa40ae242b7ef106adbe8466849ebf5cff831bc10590600090a350565b601f8054611155906155eb565b60006001600160a01b0382166116265760405162461bcd60e51b8152600401610cfd90614be7565b506001600160a01b031660009081526003602052604090205490565b600d546001600160a01b031681565b611659612e53565b6001600160a01b031661166a6118ea565b6001600160a01b0316146116905760405162461bcd60e51b8152600401610cfd90614d22565b61169a6000613347565b565b6116a7600b33613316565b806116c15750336116b66118ea565b6001600160a01b0316145b6116dd5760405162461bcd60e51b8152600401610cfd906146c8565b60158590556116ef856203f4806153c0565b601655601784905561170484620a8c006153c0565b6018556013839055611719836203f4806153c0565b601455805182511461173d5760405162461bcd60e51b8152600401610cfd90615185565b8151611750906024906020850190613d6b565b508051611764906023906020840190613dcc565b5050601b80547fffffffffffffffffffffffffffffff00ffffffffffffffffffffffffffffffff16600160801b17905550505050565b6117a5600b33613316565b806117bf5750336117b46118ea565b6001600160a01b0316145b6117db5760405162461bcd60e51b8152600401610cfd906146c8565b81516117ee906022906020850190613e07565b5080156112cb576000601d556021805460ff19908116909155601e805490911690555050565b60155481565b601a546001600160801b031681565b601a54600160801b90046001600160801b031681565b611847612e53565b6001600160a01b03166118586118ea565b6001600160a01b03161461187e5760405162461bcd60e51b8152600401610cfd90614d22565b611889600b82613316565b6118a55760405162461bcd60e51b8152600401610cfd90614e59565b6118b0600b82613399565b5060405133906001600160a01b038316907f799caeba7dd7e8649fefe03dd79338a265cf8f9738da0cd834338f2cab9abd1c90600090a350565b600a546001600160a01b031690565b600f546001600160a01b031681565b60006101f4821161191b575060c8610d60565b6105dc821161192c57506096610d60565b610dac821161193d57506064610d60565b612710821161194e57506032610d60565b506000610d60565b60165481565b611967600b33613316565b806119815750336119766118ea565b6001600160a01b0316145b61199d5760405162461bcd60e51b8152600401610cfd906146c8565b601954610dac906119bb9060ff8416906001600160801b0316615395565b6001600160801b031611156119e25760405162461bcd60e51b8152600401610cfd90614fde565b60005b8160ff168160ff161015610ecd576119fc836133ae565b80611a0681615680565b9150506119e5565b606060018054610d74906155eb565b6112cb611a28612e53565b83836133f7565b601b54600160801b900460ff16611a585760405162461bcd60e51b8152600401610cfd906149bd565b601454421015611a7a5760405162461bcd60e51b8152600401610cfd90615117565b611a85600b33613316565b80611a9f575033611a946118ea565b6001600160a01b0316145b611abb5760405162461bcd60e51b8152600401610cfd906146c8565b601e5460ff1615611ade5760405162461bcd60e51b8152600401610cfd90614e22565b601e805460ff191660011790556040805160608101909152603080825261573060208301398051611b1791601f91602090910190613e07565b5060215460ff1661169a57600f60009054906101000a90046001600160a01b03166001600160a01b031663c532bbac6040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611b7257600080fd5b505af1158015611b86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611baa919061426c565b602055565b611bb7612e53565b6001600160a01b0316611bc86118ea565b6001600160a01b031614611bee5760405162461bcd60e51b8152600401610cfd90614d22565b6040517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b038316906323b872dd90611c37903090339086906004016144fe565b600060405180830381600087803b158015611c5157600080fd5b505af1158015611c65573d6000803e3d6000fd5b505050505050565b601b54600160801b900460ff16611c965760405162461bcd60e51b8152600401610cfd906149bd565b6013544210158015611caa57506014544211155b611cc65760405162461bcd60e51b8152600401610cfd906151f3565b60048114611ce65760405162461bcd60e51b8152600401610cfd9061465a565b81816000818110611d0757634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611d1c9190614314565b61ffff16600111158015611d6b57506101f482826000818110611d4f57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611d649190614314565b61ffff1611155b611d875760405162461bcd60e51b8152600401610cfd9061514e565b81816001818110611da857634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611dbd9190614314565b61ffff166101f511158015611e0d57506105dc82826001818110611df157634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611e069190614314565b61ffff1611155b611e295760405162461bcd60e51b8152600401610cfd90614ae5565b81816002818110611e4a57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611e5f9190614314565b61ffff166105dd11158015611eaf5750610dac82826002818110611e9357634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611ea89190614314565b61ffff1611155b611ecb5760405162461bcd60e51b8152600401610cfd90614f4a565b81816003818110611eec57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611f019190614314565b61ffff16610dad11158015611f51575061271082826003818110611f3557634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611f4a9190614314565b61ffff1611155b611f6d5760405162461bcd60e51b8152600401610cfd90614b1c565b600d5433906001600160a01b0316636352211e8484600081611f9f57634e487b7160e01b600052603260045260246000fd5b9050602002016020810190611fb49190614314565b6040518263ffffffff1660e01b8152600401611fd091906152ce565b60206040518083038186803b158015611fe857600080fd5b505afa158015611ffc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120209190613fe3565b6001600160a01b0316146120465760405162461bcd60e51b8152600401610cfd90614bb0565b600d5433906001600160a01b0316636352211e8484600181811061207a57634e487b7160e01b600052603260045260246000fd5b905060200201602081019061208f9190614314565b6040518263ffffffff1660e01b81526004016120ab91906152ce565b60206040518083038186803b1580156120c357600080fd5b505afa1580156120d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120fb9190613fe3565b6001600160a01b0316146121215760405162461bcd60e51b8152600401610cfd90614623565b600d5433906001600160a01b0316636352211e8484600281811061215557634e487b7160e01b600052603260045260246000fd5b905060200201602081019061216a9190614314565b6040518263ffffffff1660e01b815260040161218691906152ce565b60206040518083038186803b15801561219e57600080fd5b505afa1580156121b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d69190613fe3565b6001600160a01b0316146121fc5760405162461bcd60e51b8152600401610cfd90614691565b600d5433906001600160a01b0316636352211e8484600381811061223057634e487b7160e01b600052603260045260246000fd5b90506020020160208101906122459190614314565b6040518263ffffffff1660e01b815260040161226191906152ce565b60206040518083038186803b15801561227957600080fd5b505afa15801561228d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122b19190613fe3565b6001600160a01b0316146122d75760405162461bcd60e51b8152600401610cfd9061522a565b60005b61ffff811682111561236557600083838361ffff1681811061230c57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906123219190614314565b905061232c81610f79565b156123495760405162461bcd60e51b8152600401610cfd90614f13565b6123528161349a565b508061235d8161564d565b9150506122da565b506001612370612aa4565b6001600160801b031610156123975760405162461bcd60e51b8152600401610cfd90614aae565b6123a0336133ae565b60198054600160801b90046001600160801b03169060106123c083615626565b91906101000a8154816001600160801b0302191690836001600160801b03160217905550507fd5ff426bb1a11b8cafacb08eaa380ef922959aab1c1b7ab1520128a08a22d4c18282600081811061242757634e487b7160e01b600052603260045260246000fd5b905060200201602081019061243c9190614314565b8383600181811061245d57634e487b7160e01b600052603260045260246000fd5b90506020020160208101906124729190614314565b8484600281811061249357634e487b7160e01b600052603260045260246000fd5b90506020020160208101906124a89190614314565b858560038181106124c957634e487b7160e01b600052603260045260246000fd5b90506020020160208101906124de9190614314565b6040516124ee94939291906152dd565b60405180910390a15050565b612502612e53565b6001600160a01b03166125136118ea565b6001600160a01b0316146125395760405162461bcd60e51b8152600401610cfd90614d22565b6001600160a01b03811661258d5761254f6118ea565b6001600160a01b03166108fc479081150290604051600060405180830381858888f19350505050158015612587573d6000803e3d6000fd5b5061268f565b806001600160a01b031663a9059cbb6125a46118ea565b6040516370a0823160e01b81526001600160a01b038516906370a08231906125d09030906004016144ea565b60206040518083038186803b1580156125e857600080fd5b505afa1580156125fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612620919061426c565b6040518363ffffffff1660e01b815260040161263d92919061455e565b602060405180830381600087803b15801561265757600080fd5b505af115801561266b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112cb9190614250565b50565b6000816001600160a01b03166126a66118ea565b6001600160a01b03161480610d5d5750610d5d600b83613316565b601a54601b546000916126e7916001600160801b03600160801b90920482169116615565565b905090565b60606126f8600b613500565b67ffffffffffffffff81111561271e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015612747578160200160208202803683370190505b50905060005b612757600b613500565b8110156127b357612769600b8261350b565b82828151811061278957634e487b7160e01b600052603260045260246000fd5b6001600160a01b0390921660209283029190910190910152806127ab81615665565b91505061274d565b5090565b6127c86127c2612e53565b83613164565b6127e45760405162461bcd60e51b8152600401610cfd90614f81565b610d1984848484613517565b60185481565b600e546001600160a01b031681565b60006064821161281757506096610d60565b6103e8821161282857506064610d60565b612710821161283957506032610d60565b506000919050565b60215460ff1681565b606061285582612e36565b6128715760405162461bcd60e51b8152600401610cfd90614a2b565b6000601f8054612880906155eb565b80601f01602080910402602001604051908101604052809291908181526020018280546128ac906155eb565b80156128f95780601f106128ce576101008083540402835291602001916128f9565b820191906000526020600020905b8154815290600101906020018083116128dc57829003601f168201915b50506021549394505060ff90921691506129a29050576022805461291c906155eb565b80601f0160208091040260200160405190810160405280929190818152602001828054612948906155eb565b80156129955780601f1061296a57610100808354040283529160200191612995565b820191906000526020600020905b81548152906001019060200180831161297857829003601f168201915b5050505050915050610d60565b60006129ad84611007565b905060006129c46129bf6064846156a0565b61354a565b905060006129d18361354a565b905060006040518060400160405280600181526020017f2f00000000000000000000000000000000000000000000000000000000000000815250905084838284604051602001612a249493929190614490565b60405160208183030381529060405295505050505050919050565b612a4a600b33613316565b80612a64575033612a596118ea565b6001600160a01b0316145b612a805760405162461bcd60e51b8152600401610cfd906146c8565b601692909255601855601455565b601954600160801b90046001600160801b031681565b601954601a546000916126e7916001600160801b03600160801b90920482169116615565565b6040516370a0823160e01b815260609060009030906370a0823190612af39086906004016144ea565b60206040518083038186803b158015612b0b57600080fd5b505afa158015612b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b43919061426c565b905060008167ffffffffffffffff811115612b6e57634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015612b97578160200160208202803683370190505b50905060005b82811015612c70576040517f2f745c590000000000000000000000000000000000000000000000000000000081523090632f745c5990612be3908890859060040161455e565b60206040518083038186803b158015612bfb57600080fd5b505afa158015612c0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c33919061426c565b828281518110612c5357634e487b7160e01b600052603260045260246000fd5b602090810291909101015280612c6881615665565b915050612b9d565b509392505050565b601d5481565b601b546001600160801b031681565b612c98600b33613316565b80612cb2575033612ca76118ea565b6001600160a01b0316145b612cce5760405162461bcd60e51b8152600401610cfd906146c8565b8051825114612cef5760405162461bcd60e51b8152600401610cfd90615185565b8151612d02906024906020850190613d6b565b508051610ecd906023906020840190613dcc565b60105481565b60145481565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b60205481565b612d5e612e53565b6001600160a01b0316612d6f6118ea565b6001600160a01b031614612d955760405162461bcd60e51b8152600401610cfd90614d22565b6001600160a01b038116612dbb5760405162461bcd60e51b8152600401610cfd906147b9565b61268f81613347565b60006001600160e01b031982167f80ac58cd000000000000000000000000000000000000000000000000000000001480612e2757506001600160e01b031982167f5b5e139f00000000000000000000000000000000000000000000000000000000145b80610d5d5750610d5d82613699565b6000908152600260205260409020546001600160a01b0316151590565b3390565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190612e8c82611510565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008083118015612ed4575081155b15612f9257612ee283612805565b600e546040516331a9108f60e11b815291925033916001600160a01b0390911690636352211e90612f17908790600401614607565b60206040518083038186803b158015612f2f57600080fd5b505afa158015612f43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f679190613fe3565b6001600160a01b031614612f8d5760405162461bcd60e51b8152600401610cfd906150e0565b613059565b82158015612fa05750600082115b1561305957612fae82611908565b600d546040516331a9108f60e11b815291925033916001600160a01b0390911690636352211e90612fe3908690600401614607565b60206040518083038186803b158015612ffb57600080fd5b505afa15801561300f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130339190613fe3565b6001600160a01b0316146130595760405162461bcd60e51b8152600401610cfd90614884565b6000816103e860105461306c91906153f9565b6130769190615546565b60105461308391906155a8565b905060006130948260ff8816615546565b90508034146130b55760405162461bcd60e51b8152600401610cfd90614d57565b8560ff166130c16126c1565b6001600160801b031610156130e85760405162461bcd60e51b8152600401610cfd90614aae565b60005b8660ff168160ff16101561315a57613102336133ae565b601a8054600160801b90046001600160801b031690601061312283615626565b91906101000a8154816001600160801b0302191690836001600160801b0316021790555050808061315290615680565b9150506130eb565b50611c6534610bc4565b600061316f82612e36565b61318b5760405162461bcd60e51b8152600401610cfd90614a62565b600061319683611510565b9050806001600160a01b0316846001600160a01b031614806131d15750836001600160a01b03166131c684610df7565b6001600160a01b0316145b806131e157506131e18185612d22565b949350505050565b826001600160a01b03166131fc82611510565b6001600160a01b0316146132225760405162461bcd60e51b8152600401610cfd90614d8e565b6001600160a01b0382166132485760405162461bcd60e51b8152600401610cfd906148f2565b6132538383836136cb565b61325e600082612e57565b6001600160a01b03831660009081526003602052604081208054600192906132879084906155a8565b90915550506001600160a01b03821660009081526003602052604081208054600192906132b59084906153c0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600061332b836001600160a01b038416613754565b9392505050565b600061332b836001600160a01b03841661376c565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600061332b836001600160a01b0384166137b6565b601980546001600160801b03169060006133c783615626565b82546101009290920a6001600160801b0381810219909316918316021790915560195461268f92508391166138d3565b816001600160a01b0316836001600160a01b031614156134295760405162461bcd60e51b8152600401610cfd90614986565b6001600160a01b0383811660008181526005602090815260408083209487168084529490915290819020805460ff1916851515179055517f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319061348d9085906145fc565b60405180910390a3505050565b60006134a76008836153d8565b905060006134b6826008615525565b6134c0908461558d565b60ff1690506134d0816002615453565b61ffff929092166000908152601160205260409020805460ff19811660ff91821690941716929092179091555050565b6000610d5d826139b2565b600061332b83836139b6565b6135228484846131e9565b61352e848484846139ee565b610d195760405162461bcd60e51b8152600401610cfd9061475c565b60608161358b575060408051808201909152600181527f30000000000000000000000000000000000000000000000000000000000000006020820152610d60565b8160005b81156135b5578061359f81615665565b91506135ae9050600a836153f9565b915061358f565b60008167ffffffffffffffff8111156135de57634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015613608576020820181803683370190505b5090505b84156131e15761361d6001836155a8565b915061362a600a866156a0565b6136359060306153c0565b60f81b81838151811061365857634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350613692600a866153f9565b945061360c565b6001600160e01b031981167f01ffc9a70000000000000000000000000000000000000000000000000000000014919050565b6136d6838383610ecd565b6001600160a01b0383166136f2576136ed81613b22565b613715565b816001600160a01b0316836001600160a01b031614613715576137158382613b66565b6001600160a01b0382166137315761372c81613c03565b610ecd565b826001600160a01b0316826001600160a01b031614610ecd57610ecd8282613cdc565b60009081526001919091016020526040902054151590565b60006137788383613754565b6137ae57508154600181810184556000848152602080822090930184905584548482528286019093526040902091909155611142565b506000611142565b600081815260018301602052604081205480156138c95760006137da6001836155a8565b85549091506000906137ee906001906155a8565b905081811461386f57600086600001828154811061381c57634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508087600001848154811061384d57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255918252600188019052604090208390555b855486908061388e57634e487b7160e01b600052603160045260246000fd5b600190038181906000526020600020016000905590558560010160008681526020019081526020016000206000905560019350505050611142565b6000915050611142565b6001600160a01b0382166138f95760405162461bcd60e51b8152600401610cfd90614ca1565b61390281612e36565b1561391f5760405162461bcd60e51b8152600401610cfd90614816565b61392b600083836136cb565b6001600160a01b03821660009081526003602052604081208054600192906139549084906153c0565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5490565b60008260000182815481106139db57634e487b7160e01b600052603260045260246000fd5b9060005260206000200154905092915050565b6000613a02846001600160a01b0316613d20565b15613b1757836001600160a01b031663150b7a02613a1e612e53565b8786866040518563ffffffff1660e01b8152600401613a409493929190614522565b602060405180830381600087803b158015613a5a57600080fd5b505af1925050508015613a8a575060408051601f3d908101601f19168201909252613a87918101906142a0565b60015b613ae4573d808015613ab8576040519150601f19603f3d011682016040523d82523d6000602084013e613abd565b606091505b508051613adc5760405162461bcd60e51b8152600401610cfd9061475c565b805181602001fd5b6001600160e01b0319167f150b7a02000000000000000000000000000000000000000000000000000000001490506131e1565b506001949350505050565b600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b60006001613b73846115fe565b613b7d91906155a8565b600083815260076020526040902054909150808214613bd0576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b600854600090613c15906001906155a8565b60008381526009602052604081205460088054939450909284908110613c4b57634e487b7160e01b600052603260045260246000fd5b906000526020600020015490508060088381548110613c7a57634e487b7160e01b600052603260045260246000fd5b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480613cc057634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000613ce7836115fe565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b3b151590565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b828054828255906000526020600020908101928215613dc0579160200282015b82811115613dc057825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190613d8b565b506127b3929150613e7a565b828054828255906000526020600020908101928215613dc0579160200282015b82811115613dc0578251825591602001919060010190613dec565b828054613e13906155eb565b90600052602060002090601f016020900481019282613e355760008555613dc0565b82601f10613e4e57805160ff1916838001178555613dc0565b82800160010185558215613dc05791820182811115613dc0578251825591602001919060010190613dec565b5b808211156127b35760008155600101613e7b565b600067ffffffffffffffff831115613ea957613ea96156e0565b613ebc601f8401601f1916602001615347565b9050828152838383011115613ed057600080fd5b828260208301376000602084830101529392505050565b600082601f830112613ef7578081fd5b81356020613f0c613f0783615371565b615347565b8281528181019085830183850287018401881015613f28578586fd5b855b85811015613f4f578135613f3d816156f6565b84529284019290840190600101613f2a565b5090979650505050505050565b600082601f830112613f6c578081fd5b81356020613f7c613f0783615371565b8281528181019085830183850287018401881015613f98578586fd5b855b85811015613f4f57813584529284019290840190600101613f9a565b803560ff81168114610d6057600080fd5b600060208284031215613fd8578081fd5b813561332b816156f6565b600060208284031215613ff4578081fd5b815161332b816156f6565b60008060408385031215614011578081fd5b823561401c816156f6565b9150602083013561402c816156f6565b809150509250929050565b60008060006060848603121561404b578081fd5b8335614056816156f6565b92506020840135614066816156f6565b929592945050506040919091013590565b6000806000806080858703121561408c578182fd5b8435614097816156f6565b935060208501356140a7816156f6565b925060408501359150606085013567ffffffffffffffff8111156140c9578182fd5b8501601f810187136140d9578182fd5b6140e887823560208401613e8f565b91505092959194509250565b60008060408385031215614106578182fd5b8235614111816156f6565b9150602083013561402c8161570b565b60008060408385031215614133578182fd5b823561413e816156f6565b946020939093013593505050565b6000806040838503121561415e578182fd5b8235614169816156f6565b915061417760208401613fb6565b90509250929050565b60008060408385031215614192578182fd5b823567ffffffffffffffff808211156141a9578384fd5b6141b586838701613ee7565b935060208501359150808211156141ca578283fd5b506141d785828601613f5c565b9150509250929050565b600080602083850312156141f3578182fd5b823567ffffffffffffffff8082111561420a578384fd5b818501915085601f83011261421d578384fd5b81358181111561422b578485fd5b866020808302850101111561423e578485fd5b60209290920196919550909350505050565b600060208284031215614261578081fd5b815161332b8161570b565b60006020828403121561427d578081fd5b5051919050565b600060208284031215614295578081fd5b813561332b81615719565b6000602082840312156142b1578081fd5b815161332b81615719565b600080604083850312156142ce578182fd5b823567ffffffffffffffff8111156142e4578283fd5b8301601f810185136142f4578283fd5b61430385823560208401613e8f565b925050602083013561402c8161570b565b600060208284031215614325578081fd5b813561ffff8116811461332b578182fd5b600060208284031215614347578081fd5b5035919050565b60008060408385031215614360578182fd5b50508035926020909101359150565b600080600060608486031215614383578081fd5b505081359360208301359350604090920135919050565b600080600080600060a086880312156143b1578283fd5b853594506020860135935060408601359250606086013567ffffffffffffffff808211156143dd578283fd5b6143e989838a01613ee7565b935060808801359150808211156143fe578283fd5b5061440b88828901613f5c565b9150509295509295909350565b600060208284031215614429578081fd5b61332b82613fb6565b600080600060608486031215614446578081fd5b61444f84613fb6565b95602085013595506040909401359392505050565b6000815180845261447c8160208601602086016155bf565b601f01601f19169290920160200192915050565b600085516144a2818460208a016155bf565b8551908301906144b6818360208a016155bf565b85519101906144c98183602089016155bf565b84519101906144dc8183602088016155bf565b019695505050505050565b90565b6001600160a01b0391909116815260200190565b6001600160a01b039384168152919092166020820152604081019190915260600190565b60006001600160a01b038087168352808616602084015250836040830152608060608301526145546080830184614464565b9695505050505050565b6001600160a01b03929092168252602082015260400190565b6020808252825182820181905260009190848201906040850190845b818110156145b85783516001600160a01b031683529284019291840191600101614593565b50909695505050505050565b6020808252825182820181905260009190848201906040850190845b818110156145b8578351835292840192918401916001016145e0565b901515815260200190565b90815260200190565b60006020825261332b6020830184614464565b60208082526003908201527f326e640000000000000000000000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f746f6b656e496420636f756e742e000000000000000000000000000000000000604082015260600190565b60208082526003908201527f3372640000000000000000000000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f4e6f7420417574686f7269736564000000000000000000000000000000000000604082015260600190565b6020808252602b908201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560408201527f74206f6620626f756e6473000000000000000000000000000000000000000000606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527f63656976657220696d706c656d656e7465720000000000000000000000000000606082015260800190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201527f6464726573730000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000604082015260600190565b60208082526019908201527f496e636f727265637420726571756573742049442073656e7400000000000000604082015260600190565b60208082526007908201527f214c616d656c6f00000000000000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f4661696c656420746f2073656e64204574686572000000000000000000000000604082015260600190565b60208082526024908201527f4552433732313a207472616e7366657220746f20746865207a65726f2061646460408201527f7265737300000000000000000000000000000000000000000000000000000000606082015260800190565b6020808252601b908201527f52616e646f6d204e6f2e20616c72656164792072656365697665640000000000604082015260600190565b60208082526019908201527f4552433732313a20617070726f766520746f2063616c6c657200000000000000604082015260600190565b6020808252600e908201527f6e6f74496e697469616c69736564000000000000000000000000000000000000604082015260600190565b60208082526002908201527f2144000000000000000000000000000000000000000000000000000000000000604082015260600190565b60208082526014908201527f546f6b656e20646f6573206e6f74206578697374000000000000000000000000604082015260600190565b6020808252602c908201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b60208082526008908201527f736f6c64206f7574000000000000000000000000000000000000000000000000604082015260600190565b60208082526004908201527f6572723100000000000000000000000000000000000000000000000000000000604082015260600190565b60208082526004908201527f6572723300000000000000000000000000000000000000000000000000000000604082015260600190565b60208082526038908201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760408201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000606082015260800190565b60208082526003908201527f3173740000000000000000000000000000000000000000000000000000000000604082015260600190565b6020808252602a908201527f4552433732313a2062616c616e636520717565727920666f7220746865207a6560408201527f726f206164647265737300000000000000000000000000000000000000000000606082015260800190565b60208082526029908201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460408201527f656e7420746f6b656e0000000000000000000000000000000000000000000000606082015260800190565b6020808252818101527f4552433732313a206d696e7420746f20746865207a65726f2061646472657373604082015260600190565b6020808252602c908201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860408201526b34b9ba32b73a103a37b5b2b760a11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600d908201527f5072696365206e6f74206d657400000000000000000000000000000000000000604082015260600190565b60208082526029908201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960408201527f73206e6f74206f776e0000000000000000000000000000000000000000000000606082015260800190565b60208082526019908201527f436f6e74726f6c6c657220616c72656164792061646465642e00000000000000604082015260600190565b60208082526006908201527f6c6f636b65640000000000000000000000000000000000000000000000000000604082015260600190565b60208082526024908201527f436f6e74726f6c6c657220646f206e6f7420686f6c642061646d696e2072696760408201527f6874732e00000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526021908201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560408201527f7200000000000000000000000000000000000000000000000000000000000000606082015260800190565b60208082526006908201527f466f726765640000000000000000000000000000000000000000000000000000604082015260600190565b60208082526004908201527f6572723200000000000000000000000000000000000000000000000000000000604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60408201527f776e6572206e6f7220617070726f766564000000000000000000000000000000606082015260800190565b60208082526008908201527f4f7665726d696e74000000000000000000000000000000000000000000000000604082015260600190565b60208082526010908201527f556e617574686f726973656420524e4700000000000000000000000000000000604082015260600190565b60208082526002908201527f2153000000000000000000000000000000000000000000000000000000000000604082015260600190565b6020808252602c908201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60408201527f7574206f6620626f756e64730000000000000000000000000000000000000000606082015260800190565b60208082526003908201527f2145430000000000000000000000000000000000000000000000000000000000604082015260600190565b60208082526003908201527f2146450000000000000000000000000000000000000000000000000000000000604082015260600190565b60208082526004908201527f6572723000000000000000000000000000000000000000000000000000000000604082015260600190565b60208082526007908201527f216c656e67746800000000000000000000000000000000000000000000000000604082015260600190565b60208082526007908201527f5374617274656400000000000000000000000000000000000000000000000000604082015260600190565b60208082526002908201527f2146000000000000000000000000000000000000000000000000000000000000604082015260600190565b60208082526003908201527f3474680000000000000000000000000000000000000000000000000000000000604082015260600190565b600061010082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015260c083015160c083015260e083015160e083015292915050565b6001600160801b0391909116815260200190565b61ffff91909116815260200190565b61ffff948516815292841660208401529083166040830152909116606082015260800190565b93845260208401929092526040830152606082015260800190565b60ff91909116815260200190565b60ff9390931683526020830191909152604082015260600190565b60405181810167ffffffffffffffff81118282101715615369576153696156e0565b604052919050565b600067ffffffffffffffff82111561538b5761538b6156e0565b5060209081020190565b60006001600160801b038083168185168083038211156153b7576153b76156b4565b01949350505050565b600082198211156153d3576153d36156b4565b500190565b600061ffff808416806153ed576153ed6156ca565b92169190910492915050565b600082615408576154086156ca565b500490565b80825b600180861161541f575061544a565b818704821115615431576154316156b4565b8086161561543e57918102915b9490941c938002615410565b94509492505050565b600061332b60001961ffff8516846000826154705750600161332b565b8161547d5750600061332b565b8160018114615493576002811461549d576154ca565b600191505061332b565b60ff8411156154ae576154ae6156b4565b6001841b9150848211156154c4576154c46156b4565b5061332b565b5060208310610133831016604e8410600b84101617156154fd575081810a838111156154f8576154f86156b4565b61332b565b61550a848484600161540d565b80860482111561551c5761551c6156b4565b02949350505050565b600061ffff8083168185168183048111821515161561551c5761551c6156b4565b6000816000190483118215151615615560576155606156b4565b500290565b60006001600160801b0383811690831681811015615585576155856156b4565b039392505050565b600061ffff83811690831681811015615585576155856156b4565b6000828210156155ba576155ba6156b4565b500390565b60005b838110156155da5781810151838201526020016155c2565b83811115610d195750506000910152565b6002810460018216806155ff57607f821691505b6020821081141561562057634e487b7160e01b600052602260045260246000fd5b50919050565b60006001600160801b0380831681811415615643576156436156b4565b6001019392505050565b600061ffff80831681811415615643576156436156b4565b6000600019821415615679576156796156b4565b5060010190565b600060ff821660ff811415615697576156976156b4565b60010192915050565b6000826156af576156af6156ca565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b038116811461268f57600080fd5b801515811461268f57600080fd5b6001600160e01b03198116811461268f57600080fdfe68747470733a2f2f636c69656e742d6d657461646174612e65746865722e63617264732f6170692f6c616d656c6f322fa26469706673582212202e630fbcb946d10aba7bfd11cfe64d861abd4f5cea9c362ae91e27f0a467f1eb64736f6c6343000800003368747470733a2f2f65746865722d63617264732e6d7970696e6174612e636c6f75642f697066732f516d626d6e4e7963774c314d46704a316e6a6175333331706e41524c6d77634157617a38676a434870785a587636000000000000000000000000139b522955d54482e7662927653abb0bfb6f19ba00000000000000000000000097ca7fe0b0288f5eb85f386fed876618fb9b8ab800000000000000000000000072170f577f3b221b3478e09ccd5323445a8460d7