//
0x608060405234801561001057600080fd5b5061002d61002261003260201b60201c565b61003a60201b60201c565b6100fe565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b610d878061010d6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80637fe93f3a116100665780637fe93f3a146100f6578063882ec35a146101265780638da5cb5b14610142578063c5c400de14610160578063f2fde38b1461019157610093565b80631707873a146100985780631d266200146100b4578063568f9ce1146100d0578063715018a6146100ec575b600080fd5b6100b260048036038101906100ad9190610951565b6101ad565b005b6100ce60048036038101906100c99190610951565b6102de565b005b6100ea60048036038101906100e59190610951565b6103b9565b005b6100f46104ea565b005b610110600480360381019061010b9190610951565b6104fe565b60405161011d9190610999565b60405180910390f35b610140600480360381019061013b9190610951565b6105d3565b005b61014a6106e2565b60405161015791906109f5565b60405180910390f35b61017a60048036038101906101759190610951565b61070b565b604051610188929190610a10565b60405180910390f35b6101ab60048036038101906101a69190610a65565b610749565b005b6101b56107cc565b806001600082815260200190815260200160002060000160009054906101000a900460ff16610219576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161021090610aef565b60405180910390fd5b816001600082815260200190815260200160002060000160019054906101000a900460ff1661027d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027490610b5b565b60405180910390fd5b60006001600085815260200190815260200160002060000160016101000a81548160ff021916908315150217905550827fa947cf0c91ed1ea7709488fa092d67427ecbacfb336c838cac9a8895fd4d5ee960405160405180910390a2505050565b6102e66107cc565b806001600082815260200190815260200160002060000160009054906101000a900460ff1661034a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034190610aef565b60405180910390fd5b60016000838152602001908152602001600020600080820160006101000a81549060ff02191690556000820160016101000a81549060ff02191690555050817fa7484d3d596d311cfc3107dcff9228ce00f3d751f41579c18250db44bba095ff60405160405180910390a25050565b6103c16107cc565b806001600082815260200190815260200160002060000160009054906101000a900460ff16610425576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161041c90610aef565b60405180910390fd5b816001600082815260200190815260200160002060000160019054906101000a900460ff161561048a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161048190610bc7565b60405180910390fd5b600180600085815260200190815260200160002060000160016101000a81548160ff021916908315150217905550827ff88d777bd2714787b6f9dc2fd4b7ed3f966999c3dd99710e89a7c625921a098660405160405180910390a2505050565b6104f26107cc565b6104fc600061084a565b565b6000816001600082815260200190815260200160002060000160009054906101000a900460ff16610564576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055b90610aef565b60405180910390fd5b826001600082815260200190815260200160002060000160019054906101000a900460ff166105c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105bf90610b5b565b60405180910390fd5b600192505050919050565b6105db6107cc565b806001600082815260200190815260200160002060000160009054906101000a900460ff1615610640576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063790610c33565b60405180910390fd5b6040518060400160405280600115158152602001600115158152506001600084815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff021916908315150217905550905050817f543b01d8fc03bd0f400fb055a7c379dc964b3c478f922bb2e198fa9bccb8e71460405160405180910390a25050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60016020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900460ff16905082565b6107516107cc565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036107c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107b790610cc5565b60405180910390fd5b6107c98161084a565b50565b6107d461090e565b73ffffffffffffffffffffffffffffffffffffffff166107f26106e2565b73ffffffffffffffffffffffffffffffffffffffff1614610848576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083f90610d31565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b600080fd5b6000819050919050565b61092e8161091b565b811461093957600080fd5b50565b60008135905061094b81610925565b92915050565b60006020828403121561096757610966610916565b5b60006109758482850161093c565b91505092915050565b60008115159050919050565b6109938161097e565b82525050565b60006020820190506109ae600083018461098a565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006109df826109b4565b9050919050565b6109ef816109d4565b82525050565b6000602082019050610a0a60008301846109e6565b92915050565b6000604082019050610a25600083018561098a565b610a32602083018461098a565b9392505050565b610a42816109d4565b8114610a4d57600080fd5b50565b600081359050610a5f81610a39565b92915050565b600060208284031215610a7b57610a7a610916565b5b6000610a8984828501610a50565b91505092915050565b600082825260208201905092915050565b7f4461746120536f75726365206973206e6f742072656769737465726564000000600082015250565b6000610ad9601d83610a92565b9150610ae482610aa3565b602082019050919050565b60006020820190508181036000830152610b0881610acc565b9050919050565b7f4461746120536f757263652069732073757370656e6465640000000000000000600082015250565b6000610b45601883610a92565b9150610b5082610b0f565b602082019050919050565b60006020820190508181036000830152610b7481610b38565b9050919050565b7f4461746120536f75726365206973206163746976650000000000000000000000600082015250565b6000610bb1601583610a92565b9150610bbc82610b7b565b602082019050919050565b60006020820190508181036000830152610be081610ba4565b9050919050565b7f4461746120536f7572636520616c726561647920726567697374657265640000600082015250565b6000610c1d601e83610a92565b9150610c2882610be7565b602082019050919050565b60006020820190508181036000830152610c4c81610c10565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610caf602683610a92565b9150610cba82610c53565b604082019050919050565b60006020820190508181036000830152610cde81610ca2565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610d1b602083610a92565b9150610d2682610ce5565b602082019050919050565b60006020820190508181036000830152610d4a81610d0e565b905091905056fea2646970667358221220cb3f3c626d7b37994a7414e193be1d740ce1288abdab4ff91b58b8e7a7aa041564736f6c63430008110033