0x6080604052600060015534801561001557600080fd5b5061003261002761003760201b60201c565b61003f60201b60201c565b610103565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b61136a806101126000396000f3fe6080604052600436106100705760003560e01c80638322fff21161004e5780638322fff2146100d15780638da5cb5b146100fc578063ddca3f4314610127578063f2fde38b1461015257610070565b806345673e401461007557806369fe0e2d14610091578063715018a6146100ba575b600080fd5b61008f600480360381019061008a9190610ad4565b61017b565b005b34801561009d57600080fd5b506100b860048036038101906100b39190610b90565b6103f8565b005b3480156100c657600080fd5b506100cf61048b565b005b3480156100dd57600080fd5b506100e661049f565b6040516100f39190610bcc565b60405180910390f35b34801561010857600080fd5b506101116104b7565b60405161011e9190610bcc565b60405180910390f35b34801561013357600080fd5b5061013c6104e0565b6040516101499190610bf6565b60405180910390f35b34801561015e57600080fd5b5061017960048036038101906101749190610c11565b6104e6565b005b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16036102de57843414610204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016101fb90610cc1565b60405180910390fd5b60006001541115610292576000670de0b6b3a7640000600154876102289190610d10565b6102329190610d81565b905061023c6104b7565b73ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015610281573d6000803e3d6000fd5b50808661028e9190610db2565b9550505b8673ffffffffffffffffffffffffffffffffffffffff166108fc869081150290604051600060405180830381858888f193505050501580156102d8573d6000803e3d6000fd5b50610380565b60006001541115610352576000670de0b6b3a7640000600154876103029190610d10565b61030c9190610d81565b90506103423361031a6104b7565b838a73ffffffffffffffffffffffffffffffffffffffff16610569909392919063ffffffff16565b808661034e9190610db2565b9550505b61037f3388878973ffffffffffffffffffffffffffffffffffffffff16610569909392919063ffffffff16565b5b8673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f382376a936ef900417d992737e4b8a5d98be1a58b8d15599b81af8ca9e2bbfce8888888888886040516103e796959493929190610e33565b60405180910390a350505050505050565b6104006105f2565b66b1a2bc2ec5000081111561044a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161044190610efc565b60405180910390fd5b806001819055507f6bbc57480a46553fa4d156ce702beef5f3ad66303b0ed1a5d4cb44966c6584c3816040516104809190610bf6565b60405180910390a150565b6104936105f2565b61049d6000610670565b565b73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee81565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60015481565b6104ee6105f2565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361055d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161055490610f8e565b60405180910390fd5b61056681610670565b50565b6105ec846323b872dd60e01b85858560405160240161058a93929190610fae565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050610734565b50505050565b6105fa6107fc565b73ffffffffffffffffffffffffffffffffffffffff166106186104b7565b73ffffffffffffffffffffffffffffffffffffffff161461066e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066590611031565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000610796826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166108049092919063ffffffff16565b90506000815114806107b85750808060200190518101906107b79190611089565b5b6107f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ee90611128565b60405180910390fd5b505050565b600033905090565b6060610813848460008561081c565b90509392505050565b606082471015610861576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610858906111ba565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161088a919061124b565b60006040518083038185875af1925050503d80600081146108c7576040519150601f19603f3d011682016040523d82523d6000602084013e6108cc565b606091505b50915091506108dd878383876108e9565b92505050949350505050565b6060831561094b576000835103610943576109038561095e565b610942576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610939906112ae565b60405180910390fd5b5b829050610956565b6109558383610981565b5b949350505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000825111156109945781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c89190611312565b60405180910390fd5b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a06826109db565b9050919050565b610a16816109fb565b8114610a2157600080fd5b50565b600081359050610a3381610a0d565b92915050565b6000819050919050565b610a4c81610a39565b8114610a5757600080fd5b50565b600081359050610a6981610a43565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610a9457610a93610a6f565b5b8235905067ffffffffffffffff811115610ab157610ab0610a74565b5b602083019150836001820283011115610acd57610acc610a79565b5b9250929050565b600080600080600080600060a0888a031215610af357610af26109d1565b5b6000610b018a828b01610a24565b9750506020610b128a828b01610a24565b9650506040610b238a828b01610a5a565b955050606088013567ffffffffffffffff811115610b4457610b436109d6565b5b610b508a828b01610a7e565b9450945050608088013567ffffffffffffffff811115610b7357610b726109d6565b5b610b7f8a828b01610a7e565b925092505092959891949750929550565b600060208284031215610ba657610ba56109d1565b5b6000610bb484828501610a5a565b91505092915050565b610bc6816109fb565b82525050565b6000602082019050610be16000830184610bbd565b92915050565b610bf081610a39565b82525050565b6000602082019050610c0b6000830184610be7565b92915050565b600060208284031215610c2757610c266109d1565b5b6000610c3584828501610a24565b91505092915050565b600082825260208201905092915050565b7f43727970746f446f6e6174696f6e733a2045544820616d6f756e74206d69736d60008201527f6174636800000000000000000000000000000000000000000000000000000000602082015250565b6000610cab602483610c3e565b9150610cb682610c4f565b604082019050919050565b60006020820190508181036000830152610cda81610c9e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610d1b82610a39565b9150610d2683610a39565b9250828202610d3481610a39565b91508282048414831517610d4b57610d4a610ce1565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610d8c82610a39565b9150610d9783610a39565b925082610da757610da6610d52565b5b828204905092915050565b6000610dbd82610a39565b9150610dc883610a39565b9250828203905081811115610de057610ddf610ce1565b5b92915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000610e128385610c3e565b9350610e1f838584610de6565b610e2883610df5565b840190509392505050565b6000608082019050610e486000830189610bbd565b610e556020830188610be7565b8181036040830152610e68818688610e06565b90508181036060830152610e7d818486610e06565b9050979650505050505050565b7f43727970746f446f6e6174696f6e733a20666565206d757374206265203c3d2060008201527f3525000000000000000000000000000000000000000000000000000000000000602082015250565b6000610ee6602283610c3e565b9150610ef182610e8a565b604082019050919050565b60006020820190508181036000830152610f1581610ed9565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610f78602683610c3e565b9150610f8382610f1c565b604082019050919050565b60006020820190508181036000830152610fa781610f6b565b9050919050565b6000606082019050610fc36000830186610bbd565b610fd06020830185610bbd565b610fdd6040830184610be7565b949350505050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061101b602083610c3e565b915061102682610fe5565b602082019050919050565b6000602082019050818103600083015261104a8161100e565b9050919050565b60008115159050919050565b61106681611051565b811461107157600080fd5b50565b6000815190506110838161105d565b92915050565b60006020828403121561109f5761109e6109d1565b5b60006110ad84828501611074565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000611112602a83610c3e565b915061111d826110b6565b604082019050919050565b6000602082019050818103600083015261114181611105565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006111a4602683610c3e565b91506111af82611148565b604082019050919050565b600060208201905081810360008301526111d381611197565b9050919050565b600081519050919050565b600081905092915050565b60005b8381101561120e5780820151818401526020810190506111f3565b60008484015250505050565b6000611225826111da565b61122f81856111e5565b935061123f8185602086016111f0565b80840191505092915050565b6000611257828461121a565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000611298601d83610c3e565b91506112a382611262565b602082019050919050565b600060208201905081810360008301526112c78161128b565b9050919050565b600081519050919050565b60006112e4826112ce565b6112ee8185610c3e565b93506112fe8185602086016111f0565b61130781610df5565b840191505092915050565b6000602082019050818103600083015261132c81846112d9565b90509291505056fea26469706673582212202901f7773e50d5d8c2038ca7119572cbada4f98b4915122c762209c8197a79f964736f6c63430008120033