0x60806040526040516200124838038062001248833981810160405260808110156200002957600080fd5b81019080805190602001909291908051906020019092919080519060200190929190805160405193929190846401000000008211156200006857600080fd5b838201915060208201858111156200007f57600080fd5b82518660018202830111640100000000821117156200009d57600080fd5b8083526020830192505050908051906020019080838360005b83811015620000d3578082015181840152602081019050620000b6565b50505050905090810190601f168015620001015780820380516001836020036101000a031916815260200191505b5060405250505083838383604051602401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156200018357808201518184015260208101905062000166565b50505050905090810190601f168015620001b15780820380516001836020036101000a031916815260200191505b5093505050506040516020818303038152906040527ff399e22e000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050508281600160405180807f656970313936372e70726f78792e696d706c656d656e746174696f6e00000000815250601c019050604051809103902060001c0360001b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b14620002a157fe5b620002b2826200036160201b60201c565b600081511115620002d657620002d48282620003fd60201b6200058e1760201c565b505b5050600160405180807f656970313936372e70726f78792e61646d696e000000000000000000000000008152506013019050604051809103902060001c0360001b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b146200034357fe5b62000354826200043360201b60201c565b505050505050506200068c565b62000377816200046260201b620005bb1760201c565b620003ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180620011ec6036913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b60606200042b8383604051806060016040528060278152602001620011c5602791396200047560201b60201c565b905092915050565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b600080823b905060008111915050919050565b606062000488846200046260201b60201c565b620004df576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180620012226026913960400191505060405180910390fd5b600060608573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b602083106200053057805182526020820191506020810190506020830392506200050b565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d806000811462000592576040519150601f19603f3d011682016040523d82523d6000602084013e62000597565b606091505b5091509150620005af828286620005ba60201b60201c565b925050509392505050565b60608315620005cc5782905062000685565b600083511115620005e05782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015620006495780820151818401526020810190506200062c565b50505050905090810190601f168015620006775780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b9392505050565b610b29806200069c6000396000f3fe60806040526004361061004e5760003560e01c80633659cfe6146100675780634f1ef286146100b85780635c60da1b146101515780638f283970146101a8578063f851a440146101f95761005d565b3661005d5761005b610250565b005b610065610250565b005b34801561007357600080fd5b506100b66004803603602081101561008a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061026a565b005b61014f600480360360408110156100ce57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019064010000000081111561010b57600080fd5b82018360208201111561011d57600080fd5b8035906020019184600183028401116401000000008311171561013f57600080fd5b90919293919293905050506102bf565b005b34801561015d57600080fd5b50610166610365565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101b457600080fd5b506101f7600480360360208110156101cb57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103bd565b005b34801561020557600080fd5b5061020e610536565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6102586105ce565b610268610263610664565b610695565b565b6102726106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102b3576102ae816106ec565b6102bc565b6102bb610250565b5b50565b6102c76106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561035757610303836106ec565b6103518383838080601f016020809104026020016040519081016040528093929190818152602001838380828437600081840152601f19601f8201169050808301925050505050505061058e565b50610360565b61035f610250565b5b505050565b600061036f6106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156103b1576103aa610664565b90506103ba565b6103b9610250565b5b90565b6103c56106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561052a57600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561047e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252603a8152602001806109f5603a913960400191505060405180910390fd5b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6104a76106bb565b82604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a16105258161073b565b610533565b610532610250565b5b50565b60006105406106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156105825761057b6106bb565b905061058b565b61058a610250565b5b90565b60606105b38383604051806060016040528060278152602001610a2f6027913961076a565b905092915050565b600080823b905060008111915050919050565b6105d66106bb565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561065a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526042815260200180610ab26042913960600191505060405180910390fd5b610662610899565b565b6000807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b9050805491505090565b3660008037600080366000845af43d6000803e80600081146106b6573d6000f35b3d6000fd5b6000807fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b9050805491505090565b6106f58161089b565b8073ffffffffffffffffffffffffffffffffffffffff167fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b60405160405180910390a250565b60007fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610360001b90508181555050565b6060610775846105bb565b6107ca576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526026815260200180610a8c6026913960400191505060405180910390fd5b600060608573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b6020831061081957805182526020820191506020810190506020830392506107f6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114610879576040519150601f19603f3d011682016040523d82523d6000602084013e61087e565b606091505b509150915061088e828286610928565b925050509392505050565b565b6108a4816105bb565b6108f9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526036815260200180610a566036913960400191505060405180910390fd5b60007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc60001b90508181555050565b60608315610938578290506109ed565b60008351111561094b5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b838110156109b2578082015181840152602081019050610997565b50505050905090810190601f1680156109df5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b939250505056fe5472616e73706172656e745570677261646561626c6550726f78793a206e65772061646d696e20697320746865207a65726f2061646472657373416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e74726163745472616e73706172656e745570677261646561626c6550726f78793a2061646d696e2063616e6e6f742066616c6c6261636b20746f2070726f787920746172676574a2646970667358221220ec2c14e649cfaf4c9f7f51fb36f80a31072f9b5700216a7bb5567a83ca0ea18864736f6c634300060b0033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645570677261646561626c6550726f78793a206e657720696d706c656d656e746174696f6e206973206e6f74206120636f6e7472616374416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e7472616374000000000000000000000000bf895df410b7fcbe093973600950ba392f7e1d8e000000000000000000000000c31d648e71c79c8823d2c5e175c35485373febd90000000000000000000000006d90fca8b591b291c66a95c7c7bb33410276563700000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000015506f6c79676f6e5f7a6b45564d5f4d61696e6e65740000000000000000000000