false
false
0

Contract Address Details

0x1778f92DE8B6EB8AC63CcAB8e43695C0B9c1816B

Token
VGE (VGE)
Creator
0x22e65dā€“197153 at 0xb07c94ā€“7471e0
Balance
0 VGL
Tokens
Fetching tokens...
Transactions
582 Transactions
Transfers
0 Transfers
Gas Used
30,866,770
Last Balance Update
644311

Contract Creation Code

Verify & Publish
0x608060405260006003556101f46004556a01bcb13a657b26388000006005556a0190391af4eed5994000006006556305f5e1006007556127106008556012600960006101000a81548160ff021916908360ff1602179055506040518060400160405280600381526020017f5647450000000000000000000000000000000000000000000000000000000000815250600a90816200009d91906200090d565b506040518060400160405280600381526020017f5647450000000000000000000000000000000000000000000000000000000000815250600b9081620000e491906200090d565b506000600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732a0df68cc36b70de2aabb89b8d940a2ed0eb2a93600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e563e56b2fed0247e5bf38777778f897606879e6600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550737946ac4a9f8a276bdaae2d4c88211fdd2bbd182e600f60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507352c8bf5a1a5e59cd1ef9e53e9aed3d2f860d0ce7601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732a65f8b3c4df1dcdd7ec1668ffc34b67ec207fbf601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073a0a9ee5f12f41964fa467afd8203cbb7779d8887601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ccf601755610f0d6018556106e36019556105bb601a55610b4a601b556109f2601c556124cd601d5561270f601e553480156200036257600080fd5b506000620003756200068b60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060055460016000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620004ee573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000514919062000a5e565b73ffffffffffffffffffffffffffffffffffffffff1663c9c6539630600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166040518363ffffffff1660e01b81526004016200057292919062000aa1565b6020604051808303816000875af115801562000592573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005b8919062000a5e565b601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200067c919062000adf565b60405180910390a35062000afc565b600033905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200071557607f821691505b6020821081036200072b576200072a620006cd565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620007957fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000756565b620007a1868362000756565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620007ee620007e8620007e284620007b9565b620007c3565b620007b9565b9050919050565b6000819050919050565b6200080a83620007cd565b620008226200081982620007f5565b84845462000763565b825550505050565b600090565b620008396200082a565b62000846818484620007ff565b505050565b5b818110156200086e57620008626000826200082f565b6001810190506200084c565b5050565b601f821115620008bd57620008878162000731565b620008928462000746565b81016020851015620008a2578190505b620008ba620008b18562000746565b8301826200084b565b50505b505050565b600082821c905092915050565b6000620008e260001984600802620008c2565b1980831691505092915050565b6000620008fd8383620008cf565b9150826002028217905092915050565b620009188262000693565b67ffffffffffffffff8111156200093457620009336200069e565b5b620009408254620006fc565b6200094d82828562000872565b600060209050601f83116001811462000985576000841562000970578287015190505b6200097c8582620008ef565b865550620009ec565b601f198416620009958662000731565b60005b82811015620009bf5784890151825560018201915060208501945060208101905062000998565b86831015620009df5784890151620009db601f891682620008cf565b8355505b6001600288020188555050505b505050505050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a2682620009f9565b9050919050565b62000a388162000a19565b811462000a4457600080fd5b50565b60008151905062000a588162000a2d565b92915050565b60006020828403121562000a775762000a76620009f4565b5b600062000a878482850162000a47565b91505092915050565b62000a9b8162000a19565b82525050565b600060408201905062000ab8600083018562000a90565b62000ac7602083018462000a90565b9392505050565b62000ad981620007b9565b82525050565b600060208201905062000af6600083018462000ace565b92915050565b6149d58062000b0c6000396000f3fe608060405234801561001057600080fd5b506004361061035d5760003560e01c806388099d2a116101d3578063b09f126611610104578063dd62ed3e116100a2578063e25286651161007c578063e2528665146109f8578063ea9abad014610a14578063f149848014610a32578063f2fde38b14610a505761035d565b8063dd62ed3e1461098c578063ddd8f214146109bc578063e10656da146109da5761035d565b8063c2061615116100de578063c206161514610918578063c7876ea414610934578063d28d885214610952578063d78068a1146109705761035d565b8063b09f1266146108c0578063be3601f8146108de578063bf171943146108fc5761035d565b80639f831ce711610171578063a457c2d71161014b578063a457c2d714610826578063a9059cbb14610856578063ac5cfcc414610886578063aeb7f0f2146108a25761035d565b80639f831ce7146107ba578063a0a5b7cd146107d8578063a1a8ee42146108085761035d565b806395d89b41116101ad57806395d89b41146107325780639790c9a71461075057806397c125681461076c5780639b57d8591461078a5761035d565b806388099d2a146106d8578063893d20e8146106f65780638da5cb5b146107145761035d565b806339509351116102ad5780635a3e83531161024b57806370a082311161022557806370a0823114610664578063715018a61461069457806376acc7311461069e5780637b6879d8146106ba5761035d565b80635a3e8353146105fa57806361bfec42146106185780636a8269b4146106345761035d565b806340c10f191161028757806340c10f191461057057806347062402146105a057806350b756cd146105be57806357dc5d9d146105dc5761035d565b806339509351146105045780633a38c6df146105345780633c78e3fa146105525761035d565b806323b872dd1161031a5780632b14ca56116102f45780632b14ca561461048c5780632d788a5b146104aa578063313ce567146104c857806332424aa3146104e65761035d565b806323b872dd146104225780632740c1971461045257806327810b6e1461046e5761035d565b8063048c6e4b1461036257806306fdde031461037e578063095ea7b31461039c57806317d70584146103cc57806318160ddd146103e85780632169d23a14610406575b600080fd5b61037c60048036038101906103779190613a65565b610a6c565b005b610386610bf1565b6040516103939190613b22565b60405180910390f35b6103b660048036038101906103b19190613b7a565b610c83565b6040516103c39190613bd5565b60405180910390f35b6103e660048036038101906103e19190613a65565b610ca1565b005b6103f0610e26565b6040516103fd9190613bff565b60405180910390f35b610420600480360381019061041b9190613a65565b610e30565b005b61043c60048036038101906104379190613c1a565b610fb5565b6040516104499190613bd5565b60405180910390f35b61046c60048036038101906104679190613c6d565b61108e565b005b6104766111c1565b6040516104839190613cbc565b60405180910390f35b6104946111e7565b6040516104a19190613bff565b60405180910390f35b6104b26111ed565b6040516104bf9190613cbc565b60405180910390f35b6104d0611213565b6040516104dd9190613cf3565b60405180910390f35b6104ee61122a565b6040516104fb9190613cf3565b60405180910390f35b61051e60048036038101906105199190613b7a565b61123d565b60405161052b9190613bd5565b60405180910390f35b61053c6112f0565b6040516105499190613bff565b60405180910390f35b61055a6112f6565b6040516105679190613bff565b60405180910390f35b61058a60048036038101906105859190613b7a565b6112fc565b6040516105979190613bd5565b60405180910390f35b6105a86113a7565b6040516105b59190613bff565b60405180910390f35b6105c66113ad565b6040516105d39190613bff565b60405180910390f35b6105e46113b3565b6040516105f19190613cbc565b60405180910390f35b6106026113d9565b60405161060f9190613bff565b60405180910390f35b610632600480360381019061062d9190613e56565b6113df565b005b61064e60048036038101906106499190613a65565b61162a565b60405161065b9190613bd5565b60405180910390f35b61067e60048036038101906106799190613a65565b61164a565b60405161068b9190613bff565b60405180910390f35b61069c611693565b005b6106b860048036038101906106b39190613f50565b6117e6565b005b6106c26119c0565b6040516106cf9190613cbc565b60405180910390f35b6106e06119e6565b6040516106ed9190613bff565b60405180910390f35b6106fe6119ec565b60405161070b9190613cbc565b60405180910390f35b61071c6119fb565b6040516107299190613cbc565b60405180910390f35b61073a611a24565b6040516107479190613b22565b60405180910390f35b61076a60048036038101906107659190613a65565b611ab6565b005b610774611b8f565b6040516107819190613cbc565b60405180910390f35b6107a4600480360381019061079f9190613a65565b611bb5565b6040516107b19190613bd5565b60405180910390f35b6107c2611bd5565b6040516107cf9190613bff565b60405180910390f35b6107f260048036038101906107ed9190613a65565b611bdb565b6040516107ff9190613bd5565b60405180910390f35b610810611bfb565b60405161081d9190613cbc565b60405180910390f35b610840600480360381019061083b9190613b7a565b611c21565b60405161084d9190613bd5565b60405180910390f35b610870600480360381019061086b9190613b7a565b611cee565b60405161087d9190613bd5565b60405180910390f35b6108a0600480360381019061089b9190613a65565b611d0c565b005b6108aa611de5565b6040516108b79190613bff565b60405180910390f35b6108c8611deb565b6040516108d59190613b22565b60405180910390f35b6108e6611e79565b6040516108f39190613cbc565b60405180910390f35b61091660048036038101906109119190613a65565b611e9f565b005b610932600480360381019061092d9190613a65565b612024565b005b61093c6121a9565b6040516109499190613bff565b60405180910390f35b61095a6121af565b6040516109679190613b22565b60405180910390f35b61098a60048036038101906109859190613a65565b61223d565b005b6109a660048036038101906109a19190613f7e565b6123c2565b6040516109b39190613bff565b60405180910390f35b6109c4612449565b6040516109d19190613bff565b60405180910390f35b6109e261244f565b6040516109ef9190613bff565b60405180910390f35b610a126004803603810190610a0d9190613a65565b612455565b005b610a1c612530565b604051610a299190613bff565b60405180910390f35b610a3a612536565b604051610a479190613cbc565b60405180910390f35b610a6a6004803603810190610a659190613a65565b61255c565b005b610a746125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afa90614030565b60405180910390fd5b60011515601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8d9061409c565b60405180910390fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6060600b8054610c00906140eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2c906140eb565b8015610c795780601f10610c4e57610100808354040283529160200191610c79565b820191906000526020600020905b815481529060010190602001808311610c5c57829003601f168201915b5050505050905090565b6000610c97610c906125fd565b8484612605565b6001905092915050565b610ca96125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2f90614030565b60405180910390fd5b60011515601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc29061409c565b60405180910390fd5b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600554905090565b610e386125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90614030565b60405180910390fd5b60001515601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5190614168565b60405180910390fd5b6001601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610fc28484846127ce565b61108384610fce6125fd565b61107e8560405180606001604052806028815260200161492d60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006110346125fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134359092919063ffffffff16565b612605565b600190509392505050565b6110966125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90614030565b60405180910390fd5b610ce482111561116a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611161906141d4565b60405180910390fd5b610ce48111156111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a6906141d4565b60405180910390fd5b81600381905550806004819055505050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600960009054906101000a900460ff16905090565b600960009054906101000a900460ff1681565b60006112e661124a6125fd565b846112e1856002600061125b6125fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b612605565b6001905092915050565b601b5481565b60065481565b60006113066125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138a90614240565b60405180910390fd5b61139d83836134f7565b6001905092915050565b60035481565b601a5481565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b6113e76125fd565b73ffffffffffffffffffffffffffffffffffffffff16601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d906142d2565b60405180910390fd5b60005b81518110156116265761154f6001600084848151811061149c5761149b6142f2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600160008484815181106115cd576115cc6142f2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061161e90614350565b915050611479565b5050565b60126020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61169b6125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f90614240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6117ee6125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461187d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187490614030565b60405180910390fd5b61188681613680565b6118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc906143e4565b60405180910390fd5b806000600881106118d9576118d86142f2565b5b6020020151601781905550806001600881106118f8576118f76142f2565b5b602002015160188190555080600260088110611917576119166142f2565b5b602002015160198190555080600360088110611936576119356142f2565b5b6020020151601a8190555080600460088110611955576119546142f2565b5b6020020151601b8190555080600560088110611974576119736142f2565b5b6020020151601c8190555080600660088110611993576119926142f2565b5b6020020151601d81905550806007600881106119b2576119b16142f2565b5b6020020151601e8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e5481565b60006119f66119fb565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054611a33906140eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611a5f906140eb565b8015611aac5780601f10611a8157610100808354040283529160200191611aac565b820191906000526020600020905b815481529060010190602001808311611a8f57829003601f168201915b5050505050905090565b611abe6125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4290614240565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b60195481565b60136020528060005260406000206000915054906101000a900460ff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ce4611c2e6125fd565b84611cdf8560405180606001604052806025815260200161497b6025913960026000611c586125fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134359092919063ffffffff16565b612605565b6001905092915050565b6000611d02611cfb6125fd565b84846127ce565b6001905092915050565b611d146125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890614240565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600a8054611df8906140eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611e24906140eb565b8015611e715780601f10611e4657610100808354040283529160200191611e71565b820191906000526020600020905b815481529060010190602001808311611e5457829003601f168201915b505050505081565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ea76125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2d90614030565b60405180910390fd5b60001515601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc090614168565b60405180910390fd5b6001601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61202c6125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b290614030565b60405180910390fd5b60001515601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461214e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214590614168565b60405180910390fd5b6001601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60075481565b600b80546121bc906140eb565b80601f01602080910402602001604051908101604052809291908181526020018280546121e8906140eb565b80156122355780601f1061220a57610100808354040283529160200191612235565b820191906000526020600020905b81548152906001019060200180831161221857829003601f168201915b505050505081565b6122456125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cb90614030565b60405180910390fd5b60011515601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235e9061409c565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b601c5481565b61245d6125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e390614030565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601d5481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6125646125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e890614240565b60405180910390fd5b6125fa81613731565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266b90614476565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126da90614508565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127c19190613bff565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361283d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128349061459a565b60405180910390fd5b60011515601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036128d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c790614606565b60405180910390fd5b600081905060065460016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612d3357601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b395760006129c06008546129b26004548661385d90919063ffffffff16565b6138d790919063ffffffff16565b9050612a368160016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612aae818361392190919063ffffffff16565b9150600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b2f9190613bff565b60405180910390a3505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612d32576000612bb9600854612bab6003548661385d90919063ffffffff16565b6138d790919063ffffffff16565b9050612c2f8160016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ca7818361392190919063ffffffff16565b9150600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d289190613bff565b60405180910390a3505b5b612d9f8260405180606001604052806026815260200161495560269139600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134359092919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060011515601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612e92575060001515601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612ffc57612f0b8160016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b60016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fef9190613bff565b60405180910390a36130f7565b61304e81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130ee9190613bff565b60405180910390a35b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361342f5760175482036131ae576001601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6018548203613210576000601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6019548203613272576001601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601a5482036132d4576000601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601b548203613336576001601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601c548203613398576000601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601d5482036133e35782601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601e54820361342e5782601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50505050565b600083831115829061347d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134749190613b22565b60405180910390fd5b506000838561348c9190614626565b9050809150509392505050565b60008082846134a8919061465a565b9050838110156134ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134e4906146da565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355d90614746565b60405180910390fd5b61357b8160055461349990919063ffffffff16565b6005819055506135d381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516136749190613bff565b60405180910390a35050565b600061368a6139ce565b60005b600881101561372557818482600881106136aa576136a96142f2565b5b602002015161271081106136c1576136c06142f2565b5b6020020151156136d65760009250505061372c565b6001828583600881106136ec576136eb6142f2565b5b60200201516127108110613703576137026142f2565b5b602002019015159081151581525050808061371d90614350565b91505061368d565b5060019150505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036137a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613797906147d8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080830361386f57600090506138d1565b6000828461387d91906147f8565b905082848261388c9190614869565b146138cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138c39061490c565b60405180910390fd5b809150505b92915050565b600061391983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061396b565b905092915050565b600061396383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613435565b905092915050565b600080831182906139b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139a99190613b22565b60405180910390fd5b50600083856139c19190614869565b9050809150509392505050565b604051806204e200016040528061271090602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a3282613a07565b9050919050565b613a4281613a27565b8114613a4d57600080fd5b50565b600081359050613a5f81613a39565b92915050565b600060208284031215613a7b57613a7a6139fd565b5b6000613a8984828501613a50565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613acc578082015181840152602081019050613ab1565b60008484015250505050565b6000601f19601f8301169050919050565b6000613af482613a92565b613afe8185613a9d565b9350613b0e818560208601613aae565b613b1781613ad8565b840191505092915050565b60006020820190508181036000830152613b3c8184613ae9565b905092915050565b6000819050919050565b613b5781613b44565b8114613b6257600080fd5b50565b600081359050613b7481613b4e565b92915050565b60008060408385031215613b9157613b906139fd565b5b6000613b9f85828601613a50565b9250506020613bb085828601613b65565b9150509250929050565b60008115159050919050565b613bcf81613bba565b82525050565b6000602082019050613bea6000830184613bc6565b92915050565b613bf981613b44565b82525050565b6000602082019050613c146000830184613bf0565b92915050565b600080600060608486031215613c3357613c326139fd565b5b6000613c4186828701613a50565b9350506020613c5286828701613a50565b9250506040613c6386828701613b65565b9150509250925092565b60008060408385031215613c8457613c836139fd565b5b6000613c9285828601613b65565b9250506020613ca385828601613b65565b9150509250929050565b613cb681613a27565b82525050565b6000602082019050613cd16000830184613cad565b92915050565b600060ff82169050919050565b613ced81613cd7565b82525050565b6000602082019050613d086000830184613ce4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613d4b82613ad8565b810181811067ffffffffffffffff82111715613d6a57613d69613d13565b5b80604052505050565b6000613d7d6139f3565b9050613d898282613d42565b919050565b600067ffffffffffffffff821115613da957613da8613d13565b5b602082029050602081019050919050565b600080fd5b6000613dd2613dcd84613d8e565b613d73565b90508083825260208201905060208402830185811115613df557613df4613dba565b5b835b81811015613e1e5780613e0a8882613a50565b845260208401935050602081019050613df7565b5050509392505050565b600082601f830112613e3d57613e3c613d0e565b5b8135613e4d848260208601613dbf565b91505092915050565b600060208284031215613e6c57613e6b6139fd565b5b600082013567ffffffffffffffff811115613e8a57613e89613a02565b5b613e9684828501613e28565b91505092915050565b600067ffffffffffffffff821115613eba57613eb9613d13565b5b602082029050919050565b6000613ed8613ed384613e9f565b613d73565b90508060208402830185811115613ef257613ef1613dba565b5b835b81811015613f1b5780613f078882613b65565b845260208401935050602081019050613ef4565b5050509392505050565b600082601f830112613f3a57613f39613d0e565b5b6008613f47848285613ec5565b91505092915050565b60006101008284031215613f6757613f666139fd565b5b6000613f7584828501613f25565b91505092915050565b60008060408385031215613f9557613f946139fd565b5b6000613fa385828601613a50565b9250506020613fb485828601613a50565b9150509250929050565b7f41646d696e657261626c653a2063616c6c6572206973206e6f7420746865206160008201527f646d696e65720000000000000000000000000000000000000000000000000000602082015250565b600061401a602683613a9d565b915061402582613fbe565b604082019050919050565b600060208201905081810360008301526140498161400d565b9050919050565b7f4e6f7420696e0000000000000000000000000000000000000000000000000000600082015250565b6000614086600683613a9d565b915061409182614050565b602082019050919050565b600060208201905081810360008301526140b581614079565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061410357607f821691505b602082108103614116576141156140bc565b5b50919050565b7f416c726561647900000000000000000000000000000000000000000000000000600082015250565b6000614152600783613a9d565b915061415d8261411c565b602082019050919050565b6000602082019050818103600083015261418181614145565b9050919050565b7f6f76657220333330302100000000000000000000000000000000000000000000600082015250565b60006141be600a83613a9d565b91506141c982614188565b602082019050919050565b600060208201905081810360008301526141ed816141b1565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061422a602083613a9d565b9150614235826141f4565b602082019050919050565b600060208201905081810360008301526142598161421d565b9050919050565b7f41646d696e657261626c653a2063616c6c6572206973206e6f7420746865206260008201527f75726e6572000000000000000000000000000000000000000000000000000000602082015250565b60006142bc602583613a9d565b91506142c782614260565b604082019050919050565b600060208201905081810360008301526142eb816142af565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061435b82613b44565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361438d5761438c614321565b5b600182019050919050565b7f73616d6520636f6465206e756d21000000000000000000000000000000000000600082015250565b60006143ce600e83613a9d565b91506143d982614398565b602082019050919050565b600060208201905081810360008301526143fd816143c1565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614460602483613a9d565b915061446b82614404565b604082019050919050565b6000602082019050818103600083015261448f81614453565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006144f2602283613a9d565b91506144fd82614496565b604082019050919050565b60006020820190508181036000830152614521816144e5565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614584602583613a9d565b915061458f82614528565b604082019050919050565b600060208201905081810360008301526145b381614577565b9050919050565b7f666c206572726f72000000000000000000000000000000000000000000000000600082015250565b60006145f0600883613a9d565b91506145fb826145ba565b602082019050919050565b6000602082019050818103600083015261461f816145e3565b9050919050565b600061463182613b44565b915061463c83613b44565b925082820390508181111561465457614653614321565b5b92915050565b600061466582613b44565b915061467083613b44565b925082820190508082111561468857614687614321565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006146c4601b83613a9d565b91506146cf8261468e565b602082019050919050565b600060208201905081810360008301526146f3816146b7565b9050919050565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614730601f83613a9d565b915061473b826146fa565b602082019050919050565b6000602082019050818103600083015261475f81614723565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006147c2602683613a9d565b91506147cd82614766565b604082019050919050565b600060208201905081810360008301526147f1816147b5565b9050919050565b600061480382613b44565b915061480e83613b44565b925082820261481c81613b44565b9150828204841483151761483357614832614321565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061487482613b44565b915061487f83613b44565b92508261488f5761488e61483a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006148f6602183613a9d565b91506149018261489a565b604082019050919050565b60006020820190508181036000830152614925816148e9565b905091905056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122040b870238326f633ffebb92322baedbe12473caf3e22c9d0760f739811aaa6bc64736f6c63430008110033

Deployed ByteCode

0x608060405234801561001057600080fd5b506004361061035d5760003560e01c806388099d2a116101d3578063b09f126611610104578063dd62ed3e116100a2578063e25286651161007c578063e2528665146109f8578063ea9abad014610a14578063f149848014610a32578063f2fde38b14610a505761035d565b8063dd62ed3e1461098c578063ddd8f214146109bc578063e10656da146109da5761035d565b8063c2061615116100de578063c206161514610918578063c7876ea414610934578063d28d885214610952578063d78068a1146109705761035d565b8063b09f1266146108c0578063be3601f8146108de578063bf171943146108fc5761035d565b80639f831ce711610171578063a457c2d71161014b578063a457c2d714610826578063a9059cbb14610856578063ac5cfcc414610886578063aeb7f0f2146108a25761035d565b80639f831ce7146107ba578063a0a5b7cd146107d8578063a1a8ee42146108085761035d565b806395d89b41116101ad57806395d89b41146107325780639790c9a71461075057806397c125681461076c5780639b57d8591461078a5761035d565b806388099d2a146106d8578063893d20e8146106f65780638da5cb5b146107145761035d565b806339509351116102ad5780635a3e83531161024b57806370a082311161022557806370a0823114610664578063715018a61461069457806376acc7311461069e5780637b6879d8146106ba5761035d565b80635a3e8353146105fa57806361bfec42146106185780636a8269b4146106345761035d565b806340c10f191161028757806340c10f191461057057806347062402146105a057806350b756cd146105be57806357dc5d9d146105dc5761035d565b806339509351146105045780633a38c6df146105345780633c78e3fa146105525761035d565b806323b872dd1161031a5780632b14ca56116102f45780632b14ca561461048c5780632d788a5b146104aa578063313ce567146104c857806332424aa3146104e65761035d565b806323b872dd146104225780632740c1971461045257806327810b6e1461046e5761035d565b8063048c6e4b1461036257806306fdde031461037e578063095ea7b31461039c57806317d70584146103cc57806318160ddd146103e85780632169d23a14610406575b600080fd5b61037c60048036038101906103779190613a65565b610a6c565b005b610386610bf1565b6040516103939190613b22565b60405180910390f35b6103b660048036038101906103b19190613b7a565b610c83565b6040516103c39190613bd5565b60405180910390f35b6103e660048036038101906103e19190613a65565b610ca1565b005b6103f0610e26565b6040516103fd9190613bff565b60405180910390f35b610420600480360381019061041b9190613a65565b610e30565b005b61043c60048036038101906104379190613c1a565b610fb5565b6040516104499190613bd5565b60405180910390f35b61046c60048036038101906104679190613c6d565b61108e565b005b6104766111c1565b6040516104839190613cbc565b60405180910390f35b6104946111e7565b6040516104a19190613bff565b60405180910390f35b6104b26111ed565b6040516104bf9190613cbc565b60405180910390f35b6104d0611213565b6040516104dd9190613cf3565b60405180910390f35b6104ee61122a565b6040516104fb9190613cf3565b60405180910390f35b61051e60048036038101906105199190613b7a565b61123d565b60405161052b9190613bd5565b60405180910390f35b61053c6112f0565b6040516105499190613bff565b60405180910390f35b61055a6112f6565b6040516105679190613bff565b60405180910390f35b61058a60048036038101906105859190613b7a565b6112fc565b6040516105979190613bd5565b60405180910390f35b6105a86113a7565b6040516105b59190613bff565b60405180910390f35b6105c66113ad565b6040516105d39190613bff565b60405180910390f35b6105e46113b3565b6040516105f19190613cbc565b60405180910390f35b6106026113d9565b60405161060f9190613bff565b60405180910390f35b610632600480360381019061062d9190613e56565b6113df565b005b61064e60048036038101906106499190613a65565b61162a565b60405161065b9190613bd5565b60405180910390f35b61067e60048036038101906106799190613a65565b61164a565b60405161068b9190613bff565b60405180910390f35b61069c611693565b005b6106b860048036038101906106b39190613f50565b6117e6565b005b6106c26119c0565b6040516106cf9190613cbc565b60405180910390f35b6106e06119e6565b6040516106ed9190613bff565b60405180910390f35b6106fe6119ec565b60405161070b9190613cbc565b60405180910390f35b61071c6119fb565b6040516107299190613cbc565b60405180910390f35b61073a611a24565b6040516107479190613b22565b60405180910390f35b61076a60048036038101906107659190613a65565b611ab6565b005b610774611b8f565b6040516107819190613cbc565b60405180910390f35b6107a4600480360381019061079f9190613a65565b611bb5565b6040516107b19190613bd5565b60405180910390f35b6107c2611bd5565b6040516107cf9190613bff565b60405180910390f35b6107f260048036038101906107ed9190613a65565b611bdb565b6040516107ff9190613bd5565b60405180910390f35b610810611bfb565b60405161081d9190613cbc565b60405180910390f35b610840600480360381019061083b9190613b7a565b611c21565b60405161084d9190613bd5565b60405180910390f35b610870600480360381019061086b9190613b7a565b611cee565b60405161087d9190613bd5565b60405180910390f35b6108a0600480360381019061089b9190613a65565b611d0c565b005b6108aa611de5565b6040516108b79190613bff565b60405180910390f35b6108c8611deb565b6040516108d59190613b22565b60405180910390f35b6108e6611e79565b6040516108f39190613cbc565b60405180910390f35b61091660048036038101906109119190613a65565b611e9f565b005b610932600480360381019061092d9190613a65565b612024565b005b61093c6121a9565b6040516109499190613bff565b60405180910390f35b61095a6121af565b6040516109679190613b22565b60405180910390f35b61098a60048036038101906109859190613a65565b61223d565b005b6109a660048036038101906109a19190613f7e565b6123c2565b6040516109b39190613bff565b60405180910390f35b6109c4612449565b6040516109d19190613bff565b60405180910390f35b6109e261244f565b6040516109ef9190613bff565b60405180910390f35b610a126004803603810190610a0d9190613a65565b612455565b005b610a1c612530565b604051610a299190613bff565b60405180910390f35b610a3a612536565b604051610a479190613cbc565b60405180910390f35b610a6a6004803603810190610a659190613a65565b61255c565b005b610a746125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610b03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610afa90614030565b60405180910390fd5b60011515601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610b96576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b8d9061409c565b60405180910390fd5b6000601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6060600b8054610c00906140eb565b80601f0160208091040260200160405190810160405280929190818152602001828054610c2c906140eb565b8015610c795780601f10610c4e57610100808354040283529160200191610c79565b820191906000526020600020905b815481529060010190602001808311610c5c57829003601f168201915b5050505050905090565b6000610c97610c906125fd565b8484612605565b6001905092915050565b610ca96125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2f90614030565b60405180910390fd5b60011515601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610dcb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc29061409c565b60405180910390fd5b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600554905090565b610e386125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ec7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90614030565b60405180910390fd5b60001515601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610f5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f5190614168565b60405180910390fd5b6001601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000610fc28484846127ce565b61108384610fce6125fd565b61107e8560405180606001604052806028815260200161492d60289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006110346125fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134359092919063ffffffff16565b612605565b600190509392505050565b6110966125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611125576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161111c90614030565b60405180910390fd5b610ce482111561116a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611161906141d4565b60405180910390fd5b610ce48111156111af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a6906141d4565b60405180910390fd5b81600381905550806004819055505050565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600960009054906101000a900460ff16905090565b600960009054906101000a900460ff1681565b60006112e661124a6125fd565b846112e1856002600061125b6125fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b612605565b6001905092915050565b601b5481565b60065481565b60006113066125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138a90614240565b60405180910390fd5b61139d83836134f7565b6001905092915050565b60035481565b601a5481565b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b6113e76125fd565b73ffffffffffffffffffffffffffffffffffffffff16601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611476576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161146d906142d2565b60405180910390fd5b60005b81518110156116265761154f6001600084848151811061149c5761149b6142f2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205460016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600160008484815181106115cd576115cc6142f2565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061161e90614350565b915050611479565b5050565b60126020528060005260406000206000915054906101000a900460ff1681565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61169b6125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611728576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161171f90614240565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6117ee6125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461187d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161187490614030565b60405180910390fd5b61188681613680565b6118c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118bc906143e4565b60405180910390fd5b806000600881106118d9576118d86142f2565b5b6020020151601781905550806001600881106118f8576118f76142f2565b5b602002015160188190555080600260088110611917576119166142f2565b5b602002015160198190555080600360088110611936576119356142f2565b5b6020020151601a8190555080600460088110611955576119546142f2565b5b6020020151601b8190555080600560088110611974576119736142f2565b5b6020020151601c8190555080600660088110611993576119926142f2565b5b6020020151601d81905550806007600881106119b2576119b16142f2565b5b6020020151601e8190555050565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601e5481565b60006119f66119fb565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600a8054611a33906140eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611a5f906140eb565b8015611aac5780601f10611a8157610100808354040283529160200191611aac565b820191906000526020600020905b815481529060010190602001808311611a8f57829003601f168201915b5050505050905090565b611abe6125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611b4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4290614240565b60405180910390fd5b80601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b60195481565b60136020528060005260406000206000915054906101000a900460ff1681565b600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000611ce4611c2e6125fd565b84611cdf8560405180606001604052806025815260200161497b6025913960026000611c586125fd565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134359092919063ffffffff16565b612605565b6001905092915050565b6000611d02611cfb6125fd565b84846127ce565b6001905092915050565b611d146125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9890614240565b60405180910390fd5b80601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60185481565b600a8054611df8906140eb565b80601f0160208091040260200160405190810160405280929190818152602001828054611e24906140eb565b8015611e715780601f10611e4657610100808354040283529160200191611e71565b820191906000526020600020905b815481529060010190602001808311611e5457829003601f168201915b505050505081565b600f60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611ea76125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611f36576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f2d90614030565b60405180910390fd5b60001515601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514611fc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fc090614168565b60405180910390fd5b6001601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b61202c6125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146120bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120b290614030565b60405180910390fd5b60001515601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151461214e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214590614168565b60405180910390fd5b6001601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b60075481565b600b80546121bc906140eb565b80601f01602080910402602001604051908101604052809291908181526020018280546121e8906140eb565b80156122355780601f1061220a57610100808354040283529160200191612235565b820191906000526020600020905b81548152906001019060200180831161221857829003601f168201915b505050505081565b6122456125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146122d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122cb90614030565b60405180910390fd5b60011515601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514612367576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235e9061409c565b60405180910390fd5b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60085481565b601c5481565b61245d6125fd565b73ffffffffffffffffffffffffffffffffffffffff16601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124ec576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e390614030565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601d5481565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6125646125fd565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146125f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125e890614240565b60405180910390fd5b6125fa81613731565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161266b90614476565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036126e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126da90614508565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516127c19190613bff565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361283d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128349061459a565b60405180910390fd5b60011515601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515036128d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128c790614606565b60405180910390fd5b600081905060065460016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015612d3357601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b395760006129c06008546129b26004548661385d90919063ffffffff16565b6138d790919063ffffffff16565b9050612a368160016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612aae818361392190919063ffffffff16565b9150600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612b2f9190613bff565b60405180910390a3505b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603612d32576000612bb9600854612bab6003548661385d90919063ffffffff16565b6138d790919063ffffffff16565b9050612c2f8160016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b60016000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550612ca7818361392190919063ffffffff16565b9150600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612d289190613bff565b60405180910390a3505b5b612d9f8260405180606001604052806026815260200161495560269139600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546134359092919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555060011515601160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515148015612e92575060001515601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515145b15612ffc57612f0b8160016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b60016000601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612fef9190613bff565b60405180910390a36130f7565b61304e81600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516130ee9190613bff565b60405180910390a35b601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160361342f5760175482036131ae576001601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6018548203613210576000601160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6019548203613272576001601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601a5482036132d4576000601260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601b548203613336576001601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601c548203613398576000601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b601d5482036133e35782601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b601e54820361342e5782601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b50505050565b600083831115829061347d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134749190613b22565b60405180910390fd5b506000838561348c9190614626565b9050809150509392505050565b60008082846134a8919061465a565b9050838110156134ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134e4906146da565b60405180910390fd5b8091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613566576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355d90614746565b60405180910390fd5b61357b8160055461349990919063ffffffff16565b6005819055506135d381600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461349990919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516136749190613bff565b60405180910390a35050565b600061368a6139ce565b60005b600881101561372557818482600881106136aa576136a96142f2565b5b602002015161271081106136c1576136c06142f2565b5b6020020151156136d65760009250505061372c565b6001828583600881106136ec576136eb6142f2565b5b60200201516127108110613703576137026142f2565b5b602002019015159081151581525050808061371d90614350565b91505061368d565b5060019150505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036137a0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613797906147d8565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600080830361386f57600090506138d1565b6000828461387d91906147f8565b905082848261388c9190614869565b146138cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138c39061490c565b60405180910390fd5b809150505b92915050565b600061391983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061396b565b905092915050565b600061396383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613435565b905092915050565b600080831182906139b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016139a99190613b22565b60405180910390fd5b50600083856139c19190614869565b9050809150509392505050565b604051806204e200016040528061271090602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613a3282613a07565b9050919050565b613a4281613a27565b8114613a4d57600080fd5b50565b600081359050613a5f81613a39565b92915050565b600060208284031215613a7b57613a7a6139fd565b5b6000613a8984828501613a50565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613acc578082015181840152602081019050613ab1565b60008484015250505050565b6000601f19601f8301169050919050565b6000613af482613a92565b613afe8185613a9d565b9350613b0e818560208601613aae565b613b1781613ad8565b840191505092915050565b60006020820190508181036000830152613b3c8184613ae9565b905092915050565b6000819050919050565b613b5781613b44565b8114613b6257600080fd5b50565b600081359050613b7481613b4e565b92915050565b60008060408385031215613b9157613b906139fd565b5b6000613b9f85828601613a50565b9250506020613bb085828601613b65565b9150509250929050565b60008115159050919050565b613bcf81613bba565b82525050565b6000602082019050613bea6000830184613bc6565b92915050565b613bf981613b44565b82525050565b6000602082019050613c146000830184613bf0565b92915050565b600080600060608486031215613c3357613c326139fd565b5b6000613c4186828701613a50565b9350506020613c5286828701613a50565b9250506040613c6386828701613b65565b9150509250925092565b60008060408385031215613c8457613c836139fd565b5b6000613c9285828601613b65565b9250506020613ca385828601613b65565b9150509250929050565b613cb681613a27565b82525050565b6000602082019050613cd16000830184613cad565b92915050565b600060ff82169050919050565b613ced81613cd7565b82525050565b6000602082019050613d086000830184613ce4565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613d4b82613ad8565b810181811067ffffffffffffffff82111715613d6a57613d69613d13565b5b80604052505050565b6000613d7d6139f3565b9050613d898282613d42565b919050565b600067ffffffffffffffff821115613da957613da8613d13565b5b602082029050602081019050919050565b600080fd5b6000613dd2613dcd84613d8e565b613d73565b90508083825260208201905060208402830185811115613df557613df4613dba565b5b835b81811015613e1e5780613e0a8882613a50565b845260208401935050602081019050613df7565b5050509392505050565b600082601f830112613e3d57613e3c613d0e565b5b8135613e4d848260208601613dbf565b91505092915050565b600060208284031215613e6c57613e6b6139fd565b5b600082013567ffffffffffffffff811115613e8a57613e89613a02565b5b613e9684828501613e28565b91505092915050565b600067ffffffffffffffff821115613eba57613eb9613d13565b5b602082029050919050565b6000613ed8613ed384613e9f565b613d73565b90508060208402830185811115613ef257613ef1613dba565b5b835b81811015613f1b5780613f078882613b65565b845260208401935050602081019050613ef4565b5050509392505050565b600082601f830112613f3a57613f39613d0e565b5b6008613f47848285613ec5565b91505092915050565b60006101008284031215613f6757613f666139fd565b5b6000613f7584828501613f25565b91505092915050565b60008060408385031215613f9557613f946139fd565b5b6000613fa385828601613a50565b9250506020613fb485828601613a50565b9150509250929050565b7f41646d696e657261626c653a2063616c6c6572206973206e6f7420746865206160008201527f646d696e65720000000000000000000000000000000000000000000000000000602082015250565b600061401a602683613a9d565b915061402582613fbe565b604082019050919050565b600060208201905081810360008301526140498161400d565b9050919050565b7f4e6f7420696e0000000000000000000000000000000000000000000000000000600082015250565b6000614086600683613a9d565b915061409182614050565b602082019050919050565b600060208201905081810360008301526140b581614079565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061410357607f821691505b602082108103614116576141156140bc565b5b50919050565b7f416c726561647900000000000000000000000000000000000000000000000000600082015250565b6000614152600783613a9d565b915061415d8261411c565b602082019050919050565b6000602082019050818103600083015261418181614145565b9050919050565b7f6f76657220333330302100000000000000000000000000000000000000000000600082015250565b60006141be600a83613a9d565b91506141c982614188565b602082019050919050565b600060208201905081810360008301526141ed816141b1565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061422a602083613a9d565b9150614235826141f4565b602082019050919050565b600060208201905081810360008301526142598161421d565b9050919050565b7f41646d696e657261626c653a2063616c6c6572206973206e6f7420746865206260008201527f75726e6572000000000000000000000000000000000000000000000000000000602082015250565b60006142bc602583613a9d565b91506142c782614260565b604082019050919050565b600060208201905081810360008301526142eb816142af565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061435b82613b44565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361438d5761438c614321565b5b600182019050919050565b7f73616d6520636f6465206e756d21000000000000000000000000000000000000600082015250565b60006143ce600e83613a9d565b91506143d982614398565b602082019050919050565b600060208201905081810360008301526143fd816143c1565b9050919050565b7f42455032303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614460602483613a9d565b915061446b82614404565b604082019050919050565b6000602082019050818103600083015261448f81614453565b9050919050565b7f42455032303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006144f2602283613a9d565b91506144fd82614496565b604082019050919050565b60006020820190508181036000830152614521816144e5565b9050919050565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614584602583613a9d565b915061458f82614528565b604082019050919050565b600060208201905081810360008301526145b381614577565b9050919050565b7f666c206572726f72000000000000000000000000000000000000000000000000600082015250565b60006145f0600883613a9d565b91506145fb826145ba565b602082019050919050565b6000602082019050818103600083015261461f816145e3565b9050919050565b600061463182613b44565b915061463c83613b44565b925082820390508181111561465457614653614321565b5b92915050565b600061466582613b44565b915061467083613b44565b925082820190508082111561468857614687614321565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006146c4601b83613a9d565b91506146cf8261468e565b602082019050919050565b600060208201905081810360008301526146f3816146b7565b9050919050565b7f42455032303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614730601f83613a9d565b915061473b826146fa565b602082019050919050565b6000602082019050818103600083015261475f81614723565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006147c2602683613a9d565b91506147cd82614766565b604082019050919050565b600060208201905081810360008301526147f1816147b5565b9050919050565b600061480382613b44565b915061480e83613b44565b925082820261481c81613b44565b9150828204841483151761483357614832614321565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061487482613b44565b915061487f83613b44565b92508261488f5761488e61483a565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006148f6602183613a9d565b91506149018261489a565b604082019050919050565b60006020820190508181036000830152614925816148e9565b905091905056fe42455032303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e636542455032303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122040b870238326f633ffebb92322baedbe12473caf3e22c9d0760f739811aaa6bc64736f6c63430008110033
<script src="{@file}"> </script>