6080604052606460075564d18c2e28006008556001601460006101000a81548160ff02191690831515021790555060405162005a3e38038062005a3e833981810160405281019062000052919062000e1b565b828281600390805190602001906200006c92919062000b93565b5080600490805190602001906200008592919062000b93565b5050506000600560146101000a81548160ff021916908315150217905550670de0b6b3a764000081620000b9919062000ee4565b60068190555060646002600654620000d2919062000ee4565b620000de919062000f74565b600d81905550620000f533620004e360201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d601460016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b158015620001b357600080fd5b505afa158015620001c8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001ee919062001011565b601560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550601560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c9c6539630601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620002d657600080fd5b505afa158015620002eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000311919062001011565b6040518363ffffffff1660e01b81526004016200033092919062001054565b602060405180830381600087803b1580156200034b57600080fd5b505af115801562000360573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000386919062001011565b601660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006013604051620003d890620010dc565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000438600a6000620005a960201b60201c565b6200044c600a60006200068260201b60201c565b6200047173d15c60bd59b4ac17767b5d974a66416c9faf8a386200075b60201b60201c565b62000482336200084a60201b60201c565b62000493306200084a60201b60201c565b620004c6600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200084a60201b60201c565b620004da336006546200098860201b60201c565b505050620013d7565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620005b962000b0160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005df62000b0960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000638576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200062f9062001154565b60405180910390fd5b8160116040516200064990620011c6565b9081526020016040518091039020819055508060116040516200066c90620010dc565b9081526020016040518091039020819055505050565b6200069262000b0160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620006b862000b0960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000711576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007089062001154565b60405180910390fd5b8160126040516200072290620011c6565b9081526020016040518091039020819055508060126040516200074590620010dc565b9081526020016040518091039020819055505050565b6200076b62000b0160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200079162000b0960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620007ea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007e19062001154565b60405180910390fd5b806013604051620007fb90620011c6565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6200085a62000b0160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff166200088062000b0960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620008d9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008d09062001154565b60405180910390fd5b620008ea8162000b3360201b60201c565b156200092d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009249062001253565b60405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620009fb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009f290620012c5565b60405180910390fd5b62000a0f6000838362000b8960201b60201c565b806002600082825462000a239190620012e7565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000a7a9190620012e7565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000ae1919062001355565b60405180910390a362000afd6000838362000b8e60201b60201c565b5050565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b505050565b505050565b82805462000ba190620013a1565b90600052602060002090601f01602090048101928262000bc5576000855562000c11565b82601f1062000be057805160ff191683800117855562000c11565b8280016001018555821562000c11579182015b8281111562000c1057825182559160200191906001019062000bf3565b5b50905062000c20919062000c24565b5090565b5b8082111562000c3f57600081600090555060010162000c25565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000cac8262000c61565b810181811067ffffffffffffffff8211171562000cce5762000ccd62000c72565b5b80604052505050565b600062000ce362000c43565b905062000cf1828262000ca1565b919050565b600067ffffffffffffffff82111562000d145762000d1362000c72565b5b62000d1f8262000c61565b9050602081019050919050565b60005b8381101562000d4c57808201518184015260208101905062000d2f565b8381111562000d5c576000848401525b50505050565b600062000d7962000d738462000cf6565b62000cd7565b90508281526020810184848401111562000d985762000d9762000c5c565b5b62000da584828562000d2c565b509392505050565b600082601f83011262000dc55762000dc462000c57565b5b815162000dd784826020860162000d62565b91505092915050565b6000819050919050565b62000df58162000de0565b811462000e0157600080fd5b50565b60008151905062000e158162000dea565b92915050565b60008060006060848603121562000e375762000e3662000c4d565b5b600084015167ffffffffffffffff81111562000e585762000e5762000c52565b5b62000e668682870162000dad565b935050602084015167ffffffffffffffff81111562000e8a5762000e8962000c52565b5b62000e988682870162000dad565b925050604062000eab8682870162000e04565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000ef18262000de0565b915062000efe8362000de0565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000f3a5762000f3962000eb5565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000f818262000de0565b915062000f8e8362000de0565b92508262000fa15762000fa062000f45565b5b828204905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000fd98262000fac565b9050919050565b62000feb8162000fcc565b811462000ff757600080fd5b50565b6000815190506200100b8162000fe0565b92915050565b6000602082840312156200102a576200102962000c4d565b5b60006200103a8482850162000ffa565b91505092915050565b6200104e8162000fcc565b82525050565b60006040820190506200106b600083018562001043565b6200107a602083018462001043565b9392505050565b600081905092915050565b7f6c69717569646974790000000000000000000000000000000000000000000000600082015250565b6000620010c460098362001081565b9150620010d1826200108c565b600982019050919050565b6000620010e982620010b5565b9150819050919050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006200113c602083620010f3565b9150620011498262001104565b602082019050919050565b600060208201905081810360008301526200116f816200112d565b9050919050565b7f6465760000000000000000000000000000000000000000000000000000000000600082015250565b6000620011ae60038362001081565b9150620011bb8262001176565b600382019050919050565b6000620011d3826200119f565b9150819050919050565b7f45524332303a204163636f756e7420697320616c7265616479206578636c756460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b60006200123b602283620010f3565b91506200124882620011dd565b604082019050919050565b600060208201905081810360008301526200126e816200122c565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000620012ad601f83620010f3565b9150620012ba8262001275565b602082019050919050565b60006020820190508181036000830152620012e0816200129e565b9050919050565b6000620012f48262000de0565b9150620013018362000de0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562001339576200133862000eb5565b5b828201905092915050565b6200134f8162000de0565b82525050565b60006020820190506200136c600083018462001344565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620013ba57607f821691505b60208210811415620013d157620013d062001372565b5b50919050565b61465780620013e76000396000f3fe6080604052600436106101dc5760003560e01c80635d0044ca11610102578063abe4f11d11610095578063dd62ed3e11610064578063dd62ed3e14610669578063f2fde38b146106a6578063f8b45b05146106cf578063f9d0831a146106fa576101e3565b8063abe4f11d146105c3578063cba0e996146105ec578063ced695a414610629578063d01dc84b14610640576101e3565b80638da5cb5b116100d15780638da5cb5b146104f357806395d89b411461051e578063a457c2d714610549578063a9059cbb14610586576101e3565b80635d0044ca1461045f57806370a0823114610488578063715018a6146104c55780638456cb59146104dc576101e3565b80632c32abc21161017a57806342966c681161014957806342966c68146103cb5780634febf53d146103f457806353eb3bcf1461041d5780635c975abb14610434576101e3565b80632c32abc214610335578063313ce5671461034c57806339509351146103775780633f4ba83a146103b4576101e3565b806318160ddd116101b657806318160ddd1461027957806323a38a38146102a457806323b872dd146102cf578063247b912d1461030c576101e3565b806305a1f36d146101e857806306fdde0314610211578063095ea7b31461023c576101e3565b366101e357005b600080fd5b3480156101f457600080fd5b5061020f600480360381019061020a9190612f4a565b610723565b005b34801561021d57600080fd5b506102266107e5565b6040516102339190613023565b60405180910390f35b34801561024857600080fd5b50610263600480360381019061025e91906130a3565b610877565b60405161027091906130fe565b60405180910390f35b34801561028557600080fd5b5061028e610895565b60405161029b9190613128565b60405180910390f35b3480156102b057600080fd5b506102b961089f565b6040516102c691906130fe565b60405180910390f35b3480156102db57600080fd5b506102f660048036038101906102f19190613143565b6108b2565b60405161030391906130fe565b60405180910390f35b34801561031857600080fd5b50610333600480360381019061032e9190612f4a565b6109aa565b005b34801561034157600080fd5b5061034a610a6c565b005b34801561035857600080fd5b50610361610b1a565b60405161036e91906131b2565b60405180910390f35b34801561038357600080fd5b5061039e600480360381019061039991906130a3565b610b23565b6040516103ab91906130fe565b60405180910390f35b3480156103c057600080fd5b506103c9610bcf565b005b3480156103d757600080fd5b506103f260048036038101906103ed91906131cd565b610c9c565b005b34801561040057600080fd5b5061041b600480360381019061041691906131fa565b610d25565b005b34801561042957600080fd5b50610432610e45565b005b34801561044057600080fd5b50610449610f2e565b60405161045691906130fe565b60405180910390f35b34801561046b57600080fd5b50610486600480360381019061048191906131cd565b610f45565b005b34801561049457600080fd5b506104af60048036038101906104aa91906131fa565b611022565b6040516104bc9190613128565b60405180910390f35b3480156104d157600080fd5b506104da61106a565b005b3480156104e857600080fd5b506104f16110f2565b005b3480156104ff57600080fd5b506105086111c0565b6040516105159190613236565b60405180910390f35b34801561052a57600080fd5b506105336111ea565b6040516105409190613023565b60405180910390f35b34801561055557600080fd5b50610570600480360381019061056b91906130a3565b61127c565b60405161057d91906130fe565b60405180910390f35b34801561059257600080fd5b506105ad60048036038101906105a891906130a3565b611367565b6040516105ba91906130fe565b60405180910390f35b3480156105cf57600080fd5b506105ea60048036038101906105e591906131fa565b611385565b005b3480156105f857600080fd5b50610613600480360381019061060e91906131fa565b6114a4565b60405161062091906130fe565b60405180910390f35b34801561063557600080fd5b5061063e6114fa565b005b34801561064c57600080fd5b50610667600480360381019061066291906131fa565b6115e2565b005b34801561067557600080fd5b50610690600480360381019061068b9190613251565b6116bc565b60405161069d9190613128565b60405180910390f35b3480156106b257600080fd5b506106cd60048036038101906106c891906131fa565b611743565b005b3480156106db57600080fd5b506106e461183b565b6040516106f19190613128565b60405180910390f35b34801561070657600080fd5b50610721600480360381019061071c91906131fa565b611841565b005b61072b611a72565b73ffffffffffffffffffffffffffffffffffffffff166107496111c0565b73ffffffffffffffffffffffffffffffffffffffff161461079f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610796906132dd565b60405180910390fd5b8160116040516107ae90613354565b9081526020016040518091039020819055508060116040516107cf906133b5565b9081526020016040518091039020819055505050565b6060600380546107f4906133f9565b80601f0160208091040260200160405190810160405280929190818152602001828054610820906133f9565b801561086d5780601f106108425761010080835404028352916020019161086d565b820191906000526020600020905b81548152906001019060200180831161085057829003601f168201915b5050505050905090565b600061088b610884611a72565b8484611a7a565b6001905092915050565b6000600254905090565b601460009054906101000a900460ff1681565b60006108bf848484611c45565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061090a611a72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561098a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109819061349d565b60405180910390fd5b61099e85610996611a72565b858403611a7a565b60019150509392505050565b6109b2611a72565b73ffffffffffffffffffffffffffffffffffffffff166109d06111c0565b73ffffffffffffffffffffffffffffffffffffffff1614610a26576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a1d906132dd565b60405180910390fd5b816012604051610a3590613354565b908152602001604051809103902081905550806012604051610a56906133b5565b9081526020016040518091039020819055505050565b610a74611a72565b73ffffffffffffffffffffffffffffffffffffffff16610a926111c0565b73ffffffffffffffffffffffffffffffffffffffff1614610ae8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610adf906132dd565b60405180910390fd5b610b176000601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000611cc0565b50565b60006012905090565b6000610bc5610b30611a72565b848460016000610b3e611a72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610bc091906134ec565b611a7a565b6001905092915050565b610bd7611a72565b73ffffffffffffffffffffffffffffffffffffffff16610bf56111c0565b73ffffffffffffffffffffffffffffffffffffffff1614610c4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c42906132dd565b60405180910390fd5b610c53610f2e565b610c92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c899061358e565b60405180910390fd5b610c9a612893565b565b610ca4611a72565b73ffffffffffffffffffffffffffffffffffffffff16610cc26111c0565b73ffffffffffffffffffffffffffffffffffffffff1614610d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0f906132dd565b60405180910390fd5b610d223382612935565b50565b610d2d611a72565b73ffffffffffffffffffffffffffffffffffffffff16610d4b6111c0565b73ffffffffffffffffffffffffffffffffffffffff1614610da1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d98906132dd565b60405180910390fd5b610daa816114a4565b15610dea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610de190613620565b60405180910390fd5b6001601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610e4d611a72565b73ffffffffffffffffffffffffffffffffffffffff16610e6b6111c0565b73ffffffffffffffffffffffffffffffffffffffff1614610ec1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb8906132dd565b60405180910390fd5b601460009054906101000a900460ff1615610f11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f089061368c565b60405180910390fd5b6001601460006101000a81548160ff021916908315150217905550565b6000600560149054906101000a900460ff16905090565b610f4d611a72565b73ffffffffffffffffffffffffffffffffffffffff16610f6b6111c0565b73ffffffffffffffffffffffffffffffffffffffff1614610fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb8906132dd565b60405180910390fd5b6127108111611005576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ffc906136f8565b60405180910390fd5b670de0b6b3a7640000816110199190613718565b600d8190555050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b611072611a72565b73ffffffffffffffffffffffffffffffffffffffff166110906111c0565b73ffffffffffffffffffffffffffffffffffffffff16146110e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110dd906132dd565b60405180910390fd5b6110f06000612b0c565b565b6110fa611a72565b73ffffffffffffffffffffffffffffffffffffffff166111186111c0565b73ffffffffffffffffffffffffffffffffffffffff161461116e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611165906132dd565b60405180910390fd5b611176610f2e565b156111b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ad906137e4565b60405180910390fd5b6111be612bd2565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546111f9906133f9565b80601f0160208091040260200160405190810160405280929190818152602001828054611225906133f9565b80156112725780601f1061124757610100808354040283529160200191611272565b820191906000526020600020905b81548152906001019060200180831161125557829003601f168201915b5050505050905090565b6000806001600061128b611a72565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611348576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133f90613876565b60405180910390fd5b61135c611353611a72565b85858403611a7a565b600191505092915050565b600061137b611374611a72565b8484611c45565b6001905092915050565b61138d611a72565b73ffffffffffffffffffffffffffffffffffffffff166113ab6111c0565b73ffffffffffffffffffffffffffffffffffffffff1614611401576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f8906132dd565b60405180910390fd5b61140a816114a4565b611449576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611440906138e2565b60405180910390fd5b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b611502611a72565b73ffffffffffffffffffffffffffffffffffffffff166115206111c0565b73ffffffffffffffffffffffffffffffffffffffff1614611576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156d906132dd565b60405180910390fd5b601460009054906101000a900460ff166115c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115bc9061394e565b60405180910390fd5b6000601460006101000a81548160ff021916908315150217905550565b6115ea611a72565b73ffffffffffffffffffffffffffffffffffffffff166116086111c0565b73ffffffffffffffffffffffffffffffffffffffff161461165e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611655906132dd565b60405180910390fd5b80601360405161166d90613354565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61174b611a72565b73ffffffffffffffffffffffffffffffffffffffff166117696111c0565b73ffffffffffffffffffffffffffffffffffffffff16146117bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117b6906132dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561182f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611826906139e0565b60405180910390fd5b61183881612b0c565b50565b600d5481565b611849611a72565b73ffffffffffffffffffffffffffffffffffffffff166118676111c0565b73ffffffffffffffffffffffffffffffffffffffff16146118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b4906132dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611945576118fa6111c0565b73ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f1935050505015801561193f573d6000803e3d6000fd5b50611a6f565b600081905060008173ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016119859190613236565b60206040518083038186803b15801561199d57600080fd5b505afa1580156119b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119d59190613a15565b90508173ffffffffffffffffffffffffffffffffffffffff1663a9059cbb6119fb6111c0565b836040518363ffffffff1660e01b8152600401611a19929190613a42565b602060405180830381600087803b158015611a3357600080fd5b505af1158015611a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6b9190613a97565b5050505b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aea576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ae190613b36565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5190613bc8565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611c389190613128565b60405180910390a3505050565b611c4d610f2e565b15611c8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c8490613c5a565b60405180910390fd5b601460009054906101000a900460ff1615611cb057611cad838383611cc0565b90505b611cbb838383612c75565b505050565b600080600267ffffffffffffffff811115611cde57611cdd613c7a565b5b604051908082528060200260200182016040528015611d0c5781602001602082028036833780820191505090505b5090503081600081518110611d2457611d23613ca9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015611dc657600080fd5b505afa158015611dda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611dfe9190613ced565b81600181518110611e1257611e11613ca9565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050611e55856114a4565b158015611e685750611e66846114a4565b155b156128875760008060075485611e7e9190613d49565b9050601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff161415611fda576011604051611ee490613354565b90815260200160405180910390205481611efe9190613718565b82611f0991906134ec565b91506011604051611f19906133b5565b90815260200160405180910390205481611f339190613718565b82611f3e91906134ec565b91506000821115611f5557611f54873084611c45565b5b6011604051611f6390613354565b90815260200160405180910390205481611f7d9190613718565b60176000828254611f8e91906134ec565b925050819055506011604051611fa3906133b5565b90815260200160405180910390205481611fbd9190613718565b60186000828254611fce91906134ec565b925050819055506127c8565b601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614156127c757601260405161203e90613354565b908152602001604051809103902054816120589190613718565b8261206391906134ec565b91506012604051612073906133b5565b9081526020016040518091039020548161208d9190613718565b8261209891906134ec565b915060008211156120af576120ae873084611c45565b5b60126040516120bd90613354565b908152602001604051809103902054816120d79190613718565b601760008282546120e891906134ec565b9250508190555060126040516120fd906133b5565b908152602001604051809103902054816121179190613718565b6018600082825461212891906134ec565b92505081905550600060185460175461214191906134ec565b90506000811415612158578594505050505061288c565b6000601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663d06ca61f6018546017546121a891906134ec565b876040518363ffffffff1660e01b81526004016121c6929190613e38565b60006040518083038186803b1580156121de57600080fd5b505afa1580156121f2573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061221b9190613f81565b60018151811061222e5761222d613ca9565b5b6020026020010151905060085481106127c4576000479050600060026018546122579190613d49565b60175461226491906134ec565b905061229330601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611a7a565b601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166318cbafe58260008a30426040518663ffffffff1660e01b81526004016122f795949392919061400f565b600060405180830381600087803b15801561231157600080fd5b505af1158015612325573d6000803e3d6000fd5b505050506040513d6000823e3d601f19601f8201168201806040525081019061234e9190613f81565b506000824761235d9190614069565b9050600060026018546123709190613d49565b90506000670de0b6b3a764000087670de0b6b3a764000060026018546123969190613d49565b6123a09190613718565b6123aa9190613d49565b846123b59190613718565b6123bf9190613d49565b90506000670de0b6b3a764000088670de0b6b3a76400006017546123e39190613718565b6123ed9190613d49565b856123f89190613718565b6124029190613d49565b905061243130601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611a7a565b601460019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d7198330866000806013604051612483906133b5565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016124d49695949392919061409d565b6060604051808303818588803b1580156124ed57600080fd5b505af1158015612501573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061252691906140fe565b5050506000838661253791906134ec565b60185460175461254791906134ec565b6125519190614069565b905060008111156125a4576125a330601360405161256e90613354565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611c45565b5b600060136040516125b490613354565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161260690614182565b60006040518083038185875af1925050503d8060008114612643576040519150601f19603f3d011682016040523d82523d6000602084013e612648565b606091505b505090508061268c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612683906141e3565b60405180910390fd5b6000848461269a91906134ec565b876126a59190614069565b11156127ab57600060136040516126bb90613354565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16858561270c91906134ec565b886127179190614069565b60405161272390614182565b60006040518083038185875af1925050503d8060008114612760576040519150601f19603f3d011682016040523d82523d6000602084013e612765565b606091505b50509050806127a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127a0906141e3565b60405180910390fd5b505b6000601781905550600060188190555050505050505050505b50505b5b81856127d49190614069565b9450601660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161461288457600d548561283888611022565b61284291906134ec565b1115612883576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161287a9061424f565b60405180910390fd5b5b50505b829150505b9392505050565b61289b610f2e565b6128da576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128d1906142bb565b60405180910390fd5b6000600560146101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61291e611a72565b60405161292b9190613236565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156129a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299c9061434d565b60405180910390fd5b6129b182600083612ef6565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612a37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2e906143df565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508160026000828254612a8e9190614069565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612af39190613128565b60405180910390a3612b0783600084612efb565b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612bda610f2e565b15612c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c119061444b565b60405180910390fd5b6001600560146101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258612c5e611a72565b604051612c6b9190613236565b60405180910390a1565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612ce5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cdc906144dd565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d4c9061456f565b60405180910390fd5b612d60838383612ef6565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612de6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ddd90614601565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e7991906134ec565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612edd9190613128565b60405180910390a3612ef0848484612efb565b50505050565b505050565b505050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b612f2781612f14565b8114612f3257600080fd5b50565b600081359050612f4481612f1e565b92915050565b60008060408385031215612f6157612f60612f0a565b5b6000612f6f85828601612f35565b9250506020612f8085828601612f35565b9150509250929050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612fc4578082015181840152602081019050612fa9565b83811115612fd3576000848401525b50505050565b6000601f19601f8301169050919050565b6000612ff582612f8a565b612fff8185612f95565b935061300f818560208601612fa6565b61301881612fd9565b840191505092915050565b6000602082019050818103600083015261303d8184612fea565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061307082613045565b9050919050565b61308081613065565b811461308b57600080fd5b50565b60008135905061309d81613077565b92915050565b600080604083850312156130ba576130b9612f0a565b5b60006130c88582860161308e565b92505060206130d985828601612f35565b9150509250929050565b60008115159050919050565b6130f8816130e3565b82525050565b600060208201905061311360008301846130ef565b92915050565b61312281612f14565b82525050565b600060208201905061313d6000830184613119565b92915050565b60008060006060848603121561315c5761315b612f0a565b5b600061316a8682870161308e565b935050602061317b8682870161308e565b925050604061318c86828701612f35565b9150509250925092565b600060ff82169050919050565b6131ac81613196565b82525050565b60006020820190506131c760008301846131a3565b92915050565b6000602082840312156131e3576131e2612f0a565b5b60006131f184828501612f35565b91505092915050565b6000602082840312156132105761320f612f0a565b5b600061321e8482850161308e565b91505092915050565b61323081613065565b82525050565b600060208201905061324b6000830184613227565b92915050565b6000806040838503121561326857613267612f0a565b5b60006132768582860161308e565b92505060206132878582860161308e565b9150509250929050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006132c7602083612f95565b91506132d282613291565b602082019050919050565b600060208201905081810360008301526132f6816132ba565b9050919050565b600081905092915050565b7f6465760000000000000000000000000000000000000000000000000000000000600082015250565b600061333e6003836132fd565b915061334982613308565b600382019050919050565b600061335f82613331565b9150819050919050565b7f6c69717569646974790000000000000000000000000000000000000000000000600082015250565b600061339f6009836132fd565b91506133aa82613369565b600982019050919050565b60006133c082613392565b9150819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061341157607f821691505b60208210811415613425576134246133ca565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000613487602883612f95565b91506134928261342b565b604082019050919050565b600060208201905081810360008301526134b68161347a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006134f782612f14565b915061350283612f14565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613537576135366134bd565b5b828201905092915050565b7f45524332303a20436f6e7472616374206973206e6f7420706175736564000000600082015250565b6000613578601d83612f95565b915061358382613542565b602082019050919050565b600060208201905081810360008301526135a78161356b565b9050919050565b7f45524332303a204163636f756e7420697320616c7265616479206578636c756460008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b600061360a602283612f95565b9150613615826135ae565b604082019050919050565b60006020820190508181036000830152613639816135fd565b9050919050565b7f45524332303a2054617820697320616c726561647920656e61626c6564000000600082015250565b6000613676601d83612f95565b915061368182613640565b602082019050919050565b600060208201905081810360008301526136a581613669565b9050919050565b7f4e4f207275672070756c6c000000000000000000000000000000000000000000600082015250565b60006136e2600b83612f95565b91506136ed826136ac565b602082019050919050565b60006020820190508181036000830152613711816136d5565b9050919050565b600061372382612f14565b915061372e83612f14565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613767576137666134bd565b5b828202905092915050565b7f45524332303a20436f6e747261637420697320616c726561647920706175736560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b60006137ce602183612f95565b91506137d982613772565b604082019050919050565b600060208201905081810360008301526137fd816137c1565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6000613860602583612f95565b915061386b82613804565b604082019050919050565b6000602082019050818103600083015261388f81613853565b9050919050565b7f45524332303a204163636f756e74206973206e6f74206578636c756465640000600082015250565b60006138cc601e83612f95565b91506138d782613896565b602082019050919050565b600060208201905081810360008301526138fb816138bf565b9050919050565b7f45524332303a2054617820697320616c72656164792064697361626c65640000600082015250565b6000613938601e83612f95565b915061394382613902565b602082019050919050565b600060208201905081810360008301526139678161392b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006139ca602683612f95565b91506139d58261396e565b604082019050919050565b600060208201905081810360008301526139f9816139bd565b9050919050565b600081519050613a0f81612f1e565b92915050565b600060208284031215613a2b57613a2a612f0a565b5b6000613a3984828501613a00565b91505092915050565b6000604082019050613a576000830185613227565b613a646020830184613119565b9392505050565b613a74816130e3565b8114613a7f57600080fd5b50565b600081519050613a9181613a6b565b92915050565b600060208284031215613aad57613aac612f0a565b5b6000613abb84828501613a82565b91505092915050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613b20602483612f95565b9150613b2b82613ac4565b604082019050919050565b60006020820190508181036000830152613b4f81613b13565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000613bb2602283612f95565b9150613bbd82613b56565b604082019050919050565b60006020820190508181036000830152613be181613ba5565b9050919050565b7f45524332303a20746f6b656e207472616e73666572207768696c65207061757360008201527f6564000000000000000000000000000000000000000000000000000000000000602082015250565b6000613c44602283612f95565b9150613c4f82613be8565b604082019050919050565b60006020820190508181036000830152613c7381613c37565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050613ce781613077565b92915050565b600060208284031215613d0357613d02612f0a565b5b6000613d1184828501613cd8565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613d5482612f14565b9150613d5f83612f14565b925082613d6f57613d6e613d1a565b5b828204905092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613daf81613065565b82525050565b6000613dc18383613da6565b60208301905092915050565b6000602082019050919050565b6000613de582613d7a565b613def8185613d85565b9350613dfa83613d96565b8060005b83811015613e2b578151613e128882613db5565b9750613e1d83613dcd565b925050600181019050613dfe565b5085935050505092915050565b6000604082019050613e4d6000830185613119565b8181036020830152613e5f8184613dda565b90509392505050565b600080fd5b613e7682612fd9565b810181811067ffffffffffffffff82111715613e9557613e94613c7a565b5b80604052505050565b6000613ea8612f00565b9050613eb48282613e6d565b919050565b600067ffffffffffffffff821115613ed457613ed3613c7a565b5b602082029050602081019050919050565b600080fd5b6000613efd613ef884613eb9565b613e9e565b90508083825260208201905060208402830185811115613f2057613f1f613ee5565b5b835b81811015613f495780613f358882613a00565b845260208401935050602081019050613f22565b5050509392505050565b600082601f830112613f6857613f67613e68565b5b8151613f78848260208601613eea565b91505092915050565b600060208284031215613f9757613f96612f0a565b5b600082015167ffffffffffffffff811115613fb557613fb4612f0f565b5b613fc184828501613f53565b91505092915050565b6000819050919050565b6000819050919050565b6000613ff9613ff4613fef84613fca565b613fd4565b612f14565b9050919050565b61400981613fde565b82525050565b600060a0820190506140246000830188613119565b6140316020830187614000565b81810360408301526140438186613dda565b90506140526060830185613227565b61405f6080830184613119565b9695505050505050565b600061407482612f14565b915061407f83612f14565b925082821015614092576140916134bd565b5b828203905092915050565b600060c0820190506140b26000830189613227565b6140bf6020830188613119565b6140cc6040830187614000565b6140d96060830186614000565b6140e66080830185613227565b6140f360a0830184613119565b979650505050505050565b60008060006060848603121561411757614116612f0a565b5b600061412586828701613a00565b935050602061413686828701613a00565b925050604061414786828701613a00565b9150509250925092565b600081905092915050565b50565b600061416c600083614151565b91506141778261415c565b600082019050919050565b600061418d8261415f565b9150819050919050565b7f7472616e7366657220746f20206465762077616c6c6574206661696c65640000600082015250565b60006141cd601e83612f95565b91506141d882614197565b602082019050919050565b600060208201905081810360008301526141fc816141c0565b9050919050565b7f6d617857616c6c6574206c696d69742065786365656465640000000000000000600082015250565b6000614239601883612f95565b915061424482614203565b602082019050919050565b600060208201905081810360008301526142688161422c565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b60006142a5601483612f95565b91506142b08261426f565b602082019050919050565b600060208201905081810360008301526142d481614298565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614337602183612f95565b9150614342826142db565b604082019050919050565b600060208201905081810360008301526143668161432a565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b60006143c9602283612f95565b91506143d48261436d565b604082019050919050565b600060208201905081810360008301526143f8816143bc565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b6000614435601083612f95565b9150614440826143ff565b602082019050919050565b6000602082019050818103600083015261446481614428565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006144c7602583612f95565b91506144d28261446b565b604082019050919050565b600060208201905081810360008301526144f6816144ba565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614559602383612f95565b9150614564826144fd565b604082019050919050565b600060208201905081810360008301526145888161454c565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006145eb602683612f95565b91506145f68261458f565b604082019050919050565b6000602082019050818103600083015261461a816145de565b905091905056fea2646970667358221220c25f97c75e78665108607346f8f2d2376cc00f82e63f8a06cb34d79439a56a4164736f6c63430008090033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000003b9aca0000000000000000000000000000000000000000000000000000000000000000044f4245590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044f42455900000000000000000000000000000000000000000000000000000000