0x608060405234801561000f575f80fd5b50600436106100e8575f3560e01c8063715018a61161008a578063a457c2d711610064578063a457c2d71461024c578063a9059cbb1461027c578063dd62ed3e146102ac578063f2fde38b146102dc576100e8565b8063715018a6146102065780638da5cb5b1461021057806395d89b411461022e576100e8565b806323b872dd116100c657806323b872dd14610158578063313ce5671461018857806339509351146101a657806370a08231146101d6576100e8565b806306fdde03146100ec578063095ea7b31461010a57806318160ddd1461013a575b5f80fd5b6100f46102f8565b604051610101919061107e565b60405180910390f35b610124600480360381019061011f919061112f565b610388565b6040516101319190611187565b60405180910390f35b6101426103a5565b60405161014f91906111af565b60405180910390f35b610172600480360381019061016d91906111c8565b6103ae565b60405161017f9190611187565b60405180910390f35b610190610482565b60405161019d9190611233565b60405180910390f35b6101c060048036038101906101bb919061112f565b610497565b6040516101cd9190611187565b60405180910390f35b6101f060048036038101906101eb919061124c565b610545565b6040516101fd91906111af565b60405180910390f35b61020e61058a565b005b61021861059d565b6040516102259190611286565b60405180910390f35b6102366105c6565b604051610243919061107e565b60405180910390f35b6102666004803603810190610261919061112f565b610656565b6040516102739190611187565b60405180910390f35b6102966004803603810190610291919061112f565b610893565b6040516102a39190611187565b60405180910390f35b6102c660048036038101906102c1919061129f565b6108b0565b6040516102d391906111af565b60405180910390f35b6102f660048036038101906102f1919061124c565b610932565b005b6060600480546103079061130a565b80601f01602080910402602001604051908101604052809291908181526020018280546103339061130a565b801561037e5780601f106103555761010080835404028352916020019161037e565b820191905f5260205f20905b81548152906001019060200180831161036157829003601f168201915b5050505050905090565b5f61039b6103946109b4565b84846109bb565b6001905092915050565b5f600354905090565b5f6103ba848484610b7e565b610477846103c66109b4565b6104728560405180606001604052806028815260200161178a6028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104296109b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e079092919063ffffffff16565b6109bb565b600190509392505050565b5f60065f9054906101000a900460ff16905090565b5f61053b6104a36109b4565b846105368560015f6104b36109b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e6990919063ffffffff16565b6109bb565b6001905092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610592610ec6565b61059b5f610f44565b565b5f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546105d59061130a565b80601f01602080910402602001604051908101604052809291908181526020018280546106019061130a565b801561064c5780601f106106235761010080835404028352916020019161064c565b820191905f5260205f20905b81548152906001019060200180831161062f57829003601f168201915b5050505050905090565b5f61065f6109b4565b73ffffffffffffffffffffffffffffffffffffffff1660025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036107cb578160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610889565b6108886107d66109b4565b84610883856040518060600160405280602581526020016117b26025913960015f6107ff6109b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e079092919063ffffffff16565b6109bb565b5b6001905092915050565b5f6108a661089f6109b4565b8484610b7e565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61093a610ec6565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f906113aa565b60405180910390fd5b6109b181610f44565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2090611438565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e906114c6565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b7191906111af565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be390611554565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c51906115e2565b60405180910390fd5b610c65838383611009565b610cce81604051806060016040528060268152602001611764602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e079092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610d5d815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e6990919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dfa91906111af565b60405180910390a3505050565b5f838311158290610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e45919061107e565b60405180910390fd5b505f8385610e5c919061162d565b9050809150509392505050565b5f808284610e779190611660565b905083811015610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb3906116dd565b60405180910390fd5b8091505092915050565b610ece6109b4565b73ffffffffffffffffffffffffffffffffffffffff16610eec61059d565b73ffffffffffffffffffffffffffffffffffffffff1614610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3990611745565b60405180910390fd5b565b5f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6110508261100e565b61105a8185611018565b935061106a818560208601611028565b61107381611036565b840191505092915050565b5f6020820190508181035f8301526110968184611046565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110cb826110a2565b9050919050565b6110db816110c1565b81146110e5575f80fd5b50565b5f813590506110f6816110d2565b92915050565b5f819050919050565b61110e816110fc565b8114611118575f80fd5b50565b5f8135905061112981611105565b92915050565b5f80604083850312156111455761114461109e565b5b5f611152858286016110e8565b92505060206111638582860161111b565b9150509250929050565b5f8115159050919050565b6111818161116d565b82525050565b5f60208201905061119a5f830184611178565b92915050565b6111a9816110fc565b82525050565b5f6020820190506111c25f8301846111a0565b92915050565b5f805f606084860312156111df576111de61109e565b5b5f6111ec868287016110e8565b93505060206111fd868287016110e8565b925050604061120e8682870161111b565b9150509250925092565b5f60ff82169050919050565b61122d81611218565b82525050565b5f6020820190506112465f830184611224565b92915050565b5f602082840312156112615761126061109e565b5b5f61126e848285016110e8565b91505092915050565b611280816110c1565b82525050565b5f6020820190506112995f830184611277565b92915050565b5f80604083850312156112b5576112b461109e565b5b5f6112c2858286016110e8565b92505060206112d3858286016110e8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061132157607f821691505b602082108103611334576113336112dd565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611394602683611018565b915061139f8261133a565b604082019050919050565b5f6020820190508181035f8301526113c181611388565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611422602483611018565b915061142d826113c8565b604082019050919050565b5f6020820190508181035f83015261144f81611416565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6114b0602283611018565b91506114bb82611456565b604082019050919050565b5f6020820190508181035f8301526114dd816114a4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61153e602583611018565b9150611549826114e4565b604082019050919050565b5f6020820190508181035f83015261156b81611532565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6115cc602383611018565b91506115d782611572565b604082019050919050565b5f6020820190508181035f8301526115f9816115c0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611637826110fc565b9150611642836110fc565b925082820390508181111561165a57611659611600565b5b92915050565b5f61166a826110fc565b9150611675836110fc565b925082820190508082111561168d5761168c611600565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6116c7601b83611018565b91506116d282611693565b602082019050919050565b5f6020820190508181035f8301526116f4816116bb565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61172f602083611018565b915061173a826116fb565b602082019050919050565b5f6020820190508181035f83015261175c81611723565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122073cb622b0cdf07884a7deb285bf77e044fa50a6dd832a356a712018da460afb864736f6c634300081a0033
0x608060405234801561000f575f80fd5b506040518060400160405280600981526020017f42616279205065706500000000000000000000000000000000000000000000008152506040518060400160405280600881526020017f4241425950455045000000000000000000000000000000000000000000000000815250816004908161008b91906106c1565b50806005908161009b91906106c1565b50601260065f6101000a81548160ff021916908360ff16021790555050506100d56100ca61010360201b60201c565b61010a60201b60201c565b6100fe6100e66101cf60201b60201c565b6b033b2e3c9fd0803ce80000006101f860201b60201c565b6108f8565b5f33905090565b5f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610266576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161025d906107ea565b60405180910390fd5b6102775f838361042560201b60201c565b61028c8160035461042a60201b90919060201c565b6003819055506102e1815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205461042a60201b90919060201c565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161037e9190610817565b60405180910390a3601b7707295c6af1a795e53af97a998be009aae60c12f7300000005f1b5f1c901c60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b505050565b5f808284610438919061085d565b90508381101561047d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610474906108da565b60405180910390fd5b8091505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061050257607f821691505b602082108103610515576105146104be565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026105777fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261053c565b610581868361053c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6105c56105c06105bb84610599565b6105a2565b610599565b9050919050565b5f819050919050565b6105de836105ab565b6105f26105ea826105cc565b848454610548565b825550505050565b5f90565b6106066105fa565b6106118184846105d5565b505050565b5b81811015610634576106295f826105fe565b600181019050610617565b5050565b601f8211156106795761064a8161051b565b6106538461052d565b81016020851015610662578190505b61067661066e8561052d565b830182610616565b50505b505050565b5f82821c905092915050565b5f6106995f198460080261067e565b1980831691505092915050565b5f6106b1838361068a565b9150826002028217905092915050565b6106ca82610487565b67ffffffffffffffff8111156106e3576106e2610491565b5b6106ed82546104eb565b6106f8828285610638565b5f60209050601f831160018114610729575f8415610717578287015190505b61072185826106a6565b865550610788565b601f1984166107378661051b565b5f5b8281101561075e57848901518255600182019150602085019450602081019050610739565b8683101561077b5784890151610777601f89168261068a565b8355505b6001600288020188555050505b505050505050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6107d4601f83610790565b91506107df826107a0565b602082019050919050565b5f6020820190508181035f830152610801816107c8565b9050919050565b61081181610599565b82525050565b5f60208201905061082a5f830184610808565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61086782610599565b915061087283610599565b925082820190508082111561088a57610889610830565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6108c4601b83610790565b91506108cf82610890565b602082019050919050565b5f6020820190508181035f8301526108f1816108b8565b9050919050565b61180c806109055f395ff3fe608060405234801561000f575f80fd5b50600436106100e8575f3560e01c8063715018a61161008a578063a457c2d711610064578063a457c2d71461024c578063a9059cbb1461027c578063dd62ed3e146102ac578063f2fde38b146102dc576100e8565b8063715018a6146102065780638da5cb5b1461021057806395d89b411461022e576100e8565b806323b872dd116100c657806323b872dd14610158578063313ce5671461018857806339509351146101a657806370a08231146101d6576100e8565b806306fdde03146100ec578063095ea7b31461010a57806318160ddd1461013a575b5f80fd5b6100f46102f8565b604051610101919061107e565b60405180910390f35b610124600480360381019061011f919061112f565b610388565b6040516101319190611187565b60405180910390f35b6101426103a5565b60405161014f91906111af565b60405180910390f35b610172600480360381019061016d91906111c8565b6103ae565b60405161017f9190611187565b60405180910390f35b610190610482565b60405161019d9190611233565b60405180910390f35b6101c060048036038101906101bb919061112f565b610497565b6040516101cd9190611187565b60405180910390f35b6101f060048036038101906101eb919061124c565b610545565b6040516101fd91906111af565b60405180910390f35b61020e61058a565b005b61021861059d565b6040516102259190611286565b60405180910390f35b6102366105c6565b604051610243919061107e565b60405180910390f35b6102666004803603810190610261919061112f565b610656565b6040516102739190611187565b60405180910390f35b6102966004803603810190610291919061112f565b610893565b6040516102a39190611187565b60405180910390f35b6102c660048036038101906102c1919061129f565b6108b0565b6040516102d391906111af565b60405180910390f35b6102f660048036038101906102f1919061124c565b610932565b005b6060600480546103079061130a565b80601f01602080910402602001604051908101604052809291908181526020018280546103339061130a565b801561037e5780601f106103555761010080835404028352916020019161037e565b820191905f5260205f20905b81548152906001019060200180831161036157829003601f168201915b5050505050905090565b5f61039b6103946109b4565b84846109bb565b6001905092915050565b5f600354905090565b5f6103ba848484610b7e565b610477846103c66109b4565b6104728560405180606001604052806028815260200161178a6028913960015f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6104296109b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e079092919063ffffffff16565b6109bb565b600190509392505050565b5f60065f9054906101000a900460ff16905090565b5f61053b6104a36109b4565b846105368560015f6104b36109b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e6990919063ffffffff16565b6109bb565b6001905092915050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610592610ec6565b61059b5f610f44565b565b5f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600580546105d59061130a565b80601f01602080910402602001604051908101604052809291908181526020018280546106019061130a565b801561064c5780601f106106235761010080835404028352916020019161064c565b820191905f5260205f20905b81548152906001019060200180831161062f57829003601f168201915b5050505050905090565b5f61065f6109b4565b73ffffffffffffffffffffffffffffffffffffffff1660025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16036107cb578160015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f60025f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610889565b6108886107d66109b4565b84610883856040518060600160405280602581526020016117b26025913960015f6107ff6109b4565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e079092919063ffffffff16565b6109bb565b5b6001905092915050565b5f6108a661089f6109b4565b8484610b7e565b6001905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61093a610ec6565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099f906113aa565b60405180910390fd5b6109b181610f44565b50565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2090611438565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610a97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8e906114c6565b60405180910390fd5b8060015f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610b7191906111af565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610bec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610be390611554565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c51906115e2565b60405180910390fd5b610c65838383611009565b610cce81604051806060016040528060268152602001611764602691395f808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e079092919063ffffffff16565b5f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610d5d815f808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054610e6990919063ffffffff16565b5f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610dfa91906111af565b60405180910390a3505050565b5f838311158290610e4e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e45919061107e565b60405180910390fd5b505f8385610e5c919061162d565b9050809150509392505050565b5f808284610e779190611660565b905083811015610ebc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb3906116dd565b60405180910390fd5b8091505092915050565b610ece6109b4565b73ffffffffffffffffffffffffffffffffffffffff16610eec61059d565b73ffffffffffffffffffffffffffffffffffffffff1614610f42576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3990611745565b60405180910390fd5b565b5f600660019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6110508261100e565b61105a8185611018565b935061106a818560208601611028565b61107381611036565b840191505092915050565b5f6020820190508181035f8301526110968184611046565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6110cb826110a2565b9050919050565b6110db816110c1565b81146110e5575f80fd5b50565b5f813590506110f6816110d2565b92915050565b5f819050919050565b61110e816110fc565b8114611118575f80fd5b50565b5f8135905061112981611105565b92915050565b5f80604083850312156111455761114461109e565b5b5f611152858286016110e8565b92505060206111638582860161111b565b9150509250929050565b5f8115159050919050565b6111818161116d565b82525050565b5f60208201905061119a5f830184611178565b92915050565b6111a9816110fc565b82525050565b5f6020820190506111c25f8301846111a0565b92915050565b5f805f606084860312156111df576111de61109e565b5b5f6111ec868287016110e8565b93505060206111fd868287016110e8565b925050604061120e8682870161111b565b9150509250925092565b5f60ff82169050919050565b61122d81611218565b82525050565b5f6020820190506112465f830184611224565b92915050565b5f602082840312156112615761126061109e565b5b5f61126e848285016110e8565b91505092915050565b611280816110c1565b82525050565b5f6020820190506112995f830184611277565b92915050565b5f80604083850312156112b5576112b461109e565b5b5f6112c2858286016110e8565b92505060206112d3858286016110e8565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061132157607f821691505b602082108103611334576113336112dd565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f611394602683611018565b915061139f8261133a565b604082019050919050565b5f6020820190508181035f8301526113c181611388565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f611422602483611018565b915061142d826113c8565b604082019050919050565b5f6020820190508181035f83015261144f81611416565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6114b0602283611018565b91506114bb82611456565b604082019050919050565b5f6020820190508181035f8301526114dd816114a4565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f61153e602583611018565b9150611549826114e4565b604082019050919050565b5f6020820190508181035f83015261156b81611532565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6115cc602383611018565b91506115d782611572565b604082019050919050565b5f6020820190508181035f8301526115f9816115c0565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f611637826110fc565b9150611642836110fc565b925082820390508181111561165a57611659611600565b5b92915050565b5f61166a826110fc565b9150611675836110fc565b925082820190508082111561168d5761168c611600565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f6116c7601b83611018565b91506116d282611693565b602082019050919050565b5f6020820190508181035f8301526116f4816116bb565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f61172f602083611018565b915061173a826116fb565b602082019050919050565b5f6020820190508181035f83015261175c81611723565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122073cb622b0cdf07884a7deb285bf77e044fa50a6dd832a356a712018da460afb864736f6c634300081a0033