0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d71461024f578063a9059cbb1461027f578063dd62ed3e146102af578063f2fde38b146102df576100ea565b8063715018a6146102095780638da5cb5b1461021357806395d89b4114610231576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f76102fb565b6040516101049190611004565b60405180910390f35b610127600480360381019061012291906110bf565b61038d565b604051610134919061111a565b60405180910390f35b6101456103ab565b6040516101529190611144565b60405180910390f35b6101756004803603810190610170919061115f565b6103b5565b604051610182919061111a565b60405180910390f35b61019361052e565b6040516101a091906111ce565b60405180910390f35b6101c360048036038101906101be91906110bf565b610545565b6040516101d0919061111a565b60405180910390f35b6101f360048036038101906101ee91906111e9565b6105f8565b6040516102009190611144565b60405180910390f35b610211610640565b005b61021b610654565b6040516102289190611225565b60405180910390f35b61023961067e565b6040516102469190611004565b60405180910390f35b610269600480360381019061026491906110bf565b610710565b604051610276919061111a565b60405180910390f35b610299600480360381019061029491906110bf565b6107dd565b6040516102a6919061111a565b60405180910390f35b6102c960048036038101906102c49190611240565b6107fb565b6040516102d69190611144565b60405180910390f35b6102f960048036038101906102f491906111e9565b610882565b005b60606003805461030a906112af565b80601f0160208091040260200160405190810160405280929190818152602001828054610336906112af565b80156103835780601f1061035857610100808354040283529160200191610383565b820191906000526020600020905b81548152906001019060200180831161036657829003601f168201915b5050505050905090565b60006103a161039a610905565b848461090d565b6001905092915050565b6000600254905090565b60006103c2848484610ad6565b6000600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061042e610905565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610522576105218561046c610905565b61051c8660405180606001604052806028815260200161175060289139600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d2610905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d699092919063ffffffff16565b61090d565b5b60019150509392505050565b6000600560009054906101000a900460ff16905090565b60006105ee610552610905565b846105e98560016000610563610905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dcd90919063ffffffff16565b61090d565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610648610e2b565b6106526000610ea9565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461068d906112af565b80601f01602080910402602001604051908101604052809291908181526020018280546106b9906112af565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b5050505050905090565b60006107d361071d610905565b846107ce856040518060600160405280602581526020016117786025913960016000610747610905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d699092919063ffffffff16565b61090d565b6001905092915050565b60006107f16107ea610905565b8484610ad6565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61088a610e2b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090611352565b60405180910390fd5b61090281610ea9565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361097c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610973906113e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e290611476565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ac99190611144565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3c90611508565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab9061159a565b60405180910390fd5b610bbf838383610f6f565b610c2a8160405180606001604052806026815260200161172a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d699092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cbd816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dcd90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d5c9190611144565b60405180910390a3505050565b6000838311158290610db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da89190611004565b60405180910390fd5b5060008385610dc091906115e9565b9050809150509392505050565b6000808284610ddc919061161d565b905083811015610e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e189061169d565b60405180910390fd5b8091505092915050565b610e33610905565b73ffffffffffffffffffffffffffffffffffffffff16610e51610654565b73ffffffffffffffffffffffffffffffffffffffff1614610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e90611709565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610fae578082015181840152602081019050610f93565b60008484015250505050565b6000601f19601f8301169050919050565b6000610fd682610f74565b610fe08185610f7f565b9350610ff0818560208601610f90565b610ff981610fba565b840191505092915050565b6000602082019050818103600083015261101e8184610fcb565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110568261102b565b9050919050565b6110668161104b565b811461107157600080fd5b50565b6000813590506110838161105d565b92915050565b6000819050919050565b61109c81611089565b81146110a757600080fd5b50565b6000813590506110b981611093565b92915050565b600080604083850312156110d6576110d5611026565b5b60006110e485828601611074565b92505060206110f5858286016110aa565b9150509250929050565b60008115159050919050565b611114816110ff565b82525050565b600060208201905061112f600083018461110b565b92915050565b61113e81611089565b82525050565b60006020820190506111596000830184611135565b92915050565b60008060006060848603121561117857611177611026565b5b600061118686828701611074565b935050602061119786828701611074565b92505060406111a8868287016110aa565b9150509250925092565b600060ff82169050919050565b6111c8816111b2565b82525050565b60006020820190506111e360008301846111bf565b92915050565b6000602082840312156111ff576111fe611026565b5b600061120d84828501611074565b91505092915050565b61121f8161104b565b82525050565b600060208201905061123a6000830184611216565b92915050565b6000806040838503121561125757611256611026565b5b600061126585828601611074565b925050602061127685828601611074565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112c757607f821691505b6020821081036112da576112d9611280565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061133c602683610f7f565b9150611347826112e0565b604082019050919050565b6000602082019050818103600083015261136b8161132f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006113ce602483610f7f565b91506113d982611372565b604082019050919050565b600060208201905081810360008301526113fd816113c1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611460602283610f7f565b915061146b82611404565b604082019050919050565b6000602082019050818103600083015261148f81611453565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006114f2602583610f7f565b91506114fd82611496565b604082019050919050565b60006020820190508181036000830152611521816114e5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611584602383610f7f565b915061158f82611528565b604082019050919050565b600060208201905081810360008301526115b381611577565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f482611089565b91506115ff83611089565b9250828203905081811115611617576116166115ba565b5b92915050565b600061162882611089565b915061163383611089565b925082820190508082111561164b5761164a6115ba565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611687601b83610f7f565b915061169282611651565b602082019050919050565b600060208201905081810360008301526116b68161167a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006116f3602083610f7f565b91506116fe826116bd565b602082019050919050565b60006020820190508181036000830152611722816116e6565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122060338af08a4863c9d5351416afd315a0478ff7bb334df4a867e90f6e27a476e664736f6c634300081a0033
0x608060405234801561001057600080fd5b506040518060400160405280600c81526020017f4d6f7270687761726520414900000000000000000000000000000000000000008152506040518060400160405280600581526020017f4d6f727068000000000000000000000000000000000000000000000000000000815250816003908161008c9190610709565b50806004908161009c9190610709565b506012600560006101000a81548160ff021916908360ff16021790555050506100d76100cc61011560201b60201c565b61011d60201b60201c565b6100e760126101e360201b60201c565b6101106100f861029360201b60201c565b6b0219aada9b14535aca0000006102bd60201b60201c565b610951565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80600560006101000a81548160ff021916908360ff1602179055507384a03ba0d4ee0058c87981a5672e449b3299cda1600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361032c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032390610838565b60405180910390fd5b61033e6000838361045660201b60201c565b6103538160025461045b60201b90919060201c565b6002819055506103aa816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461045b60201b90919060201c565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161044a9190610867565b60405180910390a35050565b505050565b600080828461046a91906108b1565b9050838110156104af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104a690610931565b60405180910390fd5b8091505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061053a57607f821691505b60208210810361054d5761054c6104f3565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026105b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610578565b6105bf8683610578565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006106066106016105fc846105d7565b6105e1565b6105d7565b9050919050565b6000819050919050565b610620836105eb565b61063461062c8261060d565b848454610585565b825550505050565b600090565b61064961063c565b610654818484610617565b505050565b5b818110156106785761066d600082610641565b60018101905061065a565b5050565b601f8211156106bd5761068e81610553565b61069784610568565b810160208510156106a6578190505b6106ba6106b285610568565b830182610659565b50505b505050565b600082821c905092915050565b60006106e0600019846008026106c2565b1980831691505092915050565b60006106f983836106cf565b9150826002028217905092915050565b610712826104b9565b67ffffffffffffffff81111561072b5761072a6104c4565b5b6107358254610522565b61074082828561067c565b600060209050601f8311600181146107735760008415610761578287015190505b61076b85826106ed565b8655506107d3565b601f19841661078186610553565b60005b828110156107a957848901518255600182019150602085019450602081019050610784565b868310156107c657848901516107c2601f8916826106cf565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000610822601f836107db565b915061082d826107ec565b602082019050919050565b6000602082019050818103600083015261085181610815565b9050919050565b610861816105d7565b82525050565b600060208201905061087c6000830184610858565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006108bc826105d7565b91506108c7836105d7565b92508282019050808211156108df576108de610882565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600061091b601b836107db565b9150610926826108e5565b602082019050919050565b6000602082019050818103600083015261094a8161090e565b9050919050565b6117d2806109606000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c8063715018a61161008c578063a457c2d711610066578063a457c2d71461024f578063a9059cbb1461027f578063dd62ed3e146102af578063f2fde38b146102df576100ea565b8063715018a6146102095780638da5cb5b1461021357806395d89b4114610231576100ea565b806323b872dd116100c857806323b872dd1461015b578063313ce5671461018b57806339509351146101a957806370a08231146101d9576100ea565b806306fdde03146100ef578063095ea7b31461010d57806318160ddd1461013d575b600080fd5b6100f76102fb565b6040516101049190611004565b60405180910390f35b610127600480360381019061012291906110bf565b61038d565b604051610134919061111a565b60405180910390f35b6101456103ab565b6040516101529190611144565b60405180910390f35b6101756004803603810190610170919061115f565b6103b5565b604051610182919061111a565b60405180910390f35b61019361052e565b6040516101a091906111ce565b60405180910390f35b6101c360048036038101906101be91906110bf565b610545565b6040516101d0919061111a565b60405180910390f35b6101f360048036038101906101ee91906111e9565b6105f8565b6040516102009190611144565b60405180910390f35b610211610640565b005b61021b610654565b6040516102289190611225565b60405180910390f35b61023961067e565b6040516102469190611004565b60405180910390f35b610269600480360381019061026491906110bf565b610710565b604051610276919061111a565b60405180910390f35b610299600480360381019061029491906110bf565b6107dd565b6040516102a6919061111a565b60405180910390f35b6102c960048036038101906102c49190611240565b6107fb565b6040516102d69190611144565b60405180910390f35b6102f960048036038101906102f491906111e9565b610882565b005b60606003805461030a906112af565b80601f0160208091040260200160405190810160405280929190818152602001828054610336906112af565b80156103835780601f1061035857610100808354040283529160200191610383565b820191906000526020600020905b81548152906001019060200180831161036657829003601f168201915b5050505050905090565b60006103a161039a610905565b848461090d565b6001905092915050565b6000600254905090565b60006103c2848484610ad6565b6000600660008073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905061042e610905565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610522576105218561046c610905565b61051c8660405180606001604052806028815260200161175060289139600160008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006104d2610905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d699092919063ffffffff16565b61090d565b5b60019150509392505050565b6000600560009054906101000a900460ff16905090565b60006105ee610552610905565b846105e98560016000610563610905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dcd90919063ffffffff16565b61090d565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610648610e2b565b6106526000610ea9565b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606004805461068d906112af565b80601f01602080910402602001604051908101604052809291908181526020018280546106b9906112af565b80156107065780601f106106db57610100808354040283529160200191610706565b820191906000526020600020905b8154815290600101906020018083116106e957829003601f168201915b5050505050905090565b60006107d361071d610905565b846107ce856040518060600160405280602581526020016117786025913960016000610747610905565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d699092919063ffffffff16565b61090d565b6001905092915050565b60006107f16107ea610905565b8484610ad6565b6001905092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b61088a610e2b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036108f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108f090611352565b60405180910390fd5b61090281610ea9565b50565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361097c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610973906113e4565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e290611476565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610ac99190611144565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3c90611508565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bab9061159a565b60405180910390fd5b610bbf838383610f6f565b610c2a8160405180606001604052806026815260200161172a602691396000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d699092919063ffffffff16565b6000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610cbd816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610dcd90919063ffffffff16565b6000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610d5c9190611144565b60405180910390a3505050565b6000838311158290610db1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da89190611004565b60405180910390fd5b5060008385610dc091906115e9565b9050809150509392505050565b6000808284610ddc919061161d565b905083811015610e21576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e189061169d565b60405180910390fd5b8091505092915050565b610e33610905565b73ffffffffffffffffffffffffffffffffffffffff16610e51610654565b73ffffffffffffffffffffffffffffffffffffffff1614610ea7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e9e90611709565b60405180910390fd5b565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015610fae578082015181840152602081019050610f93565b60008484015250505050565b6000601f19601f8301169050919050565b6000610fd682610f74565b610fe08185610f7f565b9350610ff0818560208601610f90565b610ff981610fba565b840191505092915050565b6000602082019050818103600083015261101e8184610fcb565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006110568261102b565b9050919050565b6110668161104b565b811461107157600080fd5b50565b6000813590506110838161105d565b92915050565b6000819050919050565b61109c81611089565b81146110a757600080fd5b50565b6000813590506110b981611093565b92915050565b600080604083850312156110d6576110d5611026565b5b60006110e485828601611074565b92505060206110f5858286016110aa565b9150509250929050565b60008115159050919050565b611114816110ff565b82525050565b600060208201905061112f600083018461110b565b92915050565b61113e81611089565b82525050565b60006020820190506111596000830184611135565b92915050565b60008060006060848603121561117857611177611026565b5b600061118686828701611074565b935050602061119786828701611074565b92505060406111a8868287016110aa565b9150509250925092565b600060ff82169050919050565b6111c8816111b2565b82525050565b60006020820190506111e360008301846111bf565b92915050565b6000602082840312156111ff576111fe611026565b5b600061120d84828501611074565b91505092915050565b61121f8161104b565b82525050565b600060208201905061123a6000830184611216565b92915050565b6000806040838503121561125757611256611026565b5b600061126585828601611074565b925050602061127685828601611074565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806112c757607f821691505b6020821081036112da576112d9611280565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061133c602683610f7f565b9150611347826112e0565b604082019050919050565b6000602082019050818103600083015261136b8161132f565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006113ce602483610f7f565b91506113d982611372565b604082019050919050565b600060208201905081810360008301526113fd816113c1565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000611460602283610f7f565b915061146b82611404565b604082019050919050565b6000602082019050818103600083015261148f81611453565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006114f2602583610f7f565b91506114fd82611496565b604082019050919050565b60006020820190508181036000830152611521816114e5565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000611584602383610f7f565b915061158f82611528565b604082019050919050565b600060208201905081810360008301526115b381611577565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006115f482611089565b91506115ff83611089565b9250828203905081811115611617576116166115ba565b5b92915050565b600061162882611089565b915061163383611089565b925082820190508082111561164b5761164a6115ba565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000611687601b83610f7f565b915061169282611651565b602082019050919050565b600060208201905081810360008301526116b68161167a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006116f3602083610f7f565b91506116fe826116bd565b602082019050919050565b60006020820190508181036000830152611722816116e6565b905091905056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122060338af08a4863c9d5351416afd315a0478ff7bb334df4a867e90f6e27a476e664736f6c634300081a0033