60806040523480156200001157600080fd5b506040805180820182526005808252644d454c4f5360d81b6020808401828152855180870190965292855284015281519192916200005291600391620001a2565b50805162000068906004906020840190620001a2565b505050620000ac6200007f620000b260201b60201c565b62000089620000b6565b6200009690600a620002f0565b620000a690633b9aca00620003e8565b620000bb565b6200045d565b3390565b601290565b6001600160a01b038216620000ed5760405162461bcd60e51b8152600401620000e49062000248565b60405180910390fd5b620000fb600083836200019d565b80600260008282546200010f919062000288565b90915550506001600160a01b038216600090815260208190526040812080548392906200013e90849062000288565b90915550506040516001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001839085906200027f565b60405180910390a362000199600083836200019d565b5050565b505050565b828054620001b0906200040a565b90600052602060002090601f016020900481019282620001d457600085556200021f565b82601f10620001ef57805160ff19168380011785556200021f565b828001600101855582156200021f579182015b828111156200021f57825182559160200191906001019062000202565b506200022d92915062000231565b5090565b5b808211156200022d576000815560010162000232565b6020808252601f908201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604082015260600190565b90815260200190565b600082198211156200029e576200029e62000447565b500190565b80825b6001808611620002b75750620002e7565b818704821115620002cc57620002cc62000447565b80861615620002da57918102915b9490941c938002620002a6565b94509492505050565b60006200030460001960ff8516846200030b565b9392505050565b6000826200031c5750600162000304565b816200032b5750600062000304565b81600181146200034457600281146200034f5762000383565b600191505062000304565b60ff84111562000363576200036362000447565b6001841b9150848211156200037c576200037c62000447565b5062000304565b5060208310610133831016604e8410600b8410161715620003bb575081810a83811115620003b557620003b562000447565b62000304565b620003ca8484846001620002a3565b808604821115620003df57620003df62000447565b02949350505050565b600081600019048311821515161562000405576200040562000447565b500290565b6002810460018216806200041f57607f821691505b602082108114156200044157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b610ba2806200046d6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c806342966c681161008c57806395d89b411161006657806395d89b411461019d578063a457c2d7146101a5578063a9059cbb146101b8578063dd62ed3e146101cb576100cf565b806342966c681461016257806370a082311461017757806379cc67901461018a576100cf565b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011257806323b872dd14610127578063313ce5671461013a578063395093511461014f575b600080fd5b6100dc6101de565b6040516100e9919061082f565b60405180910390f35b6101056101003660046107e3565b610270565b6040516100e99190610824565b61011a610292565b6040516100e99190610ad5565b6101056101353660046107a8565b610298565b6101426102c6565b6040516100e99190610ade565b61010561015d3660046107e3565b6102cb565b61017561017036600461080c565b610317565b005b61011a610185366004610755565b61032b565b6101756101983660046107e3565b61034a565b6100dc61036a565b6101056101b33660046107e3565b610379565b6101056101c63660046107e3565b6103e3565b61011a6101d9366004610776565b6103fb565b6060600380546101ed90610b1b565b80601f016020809104026020016040519081016040528092919081815260200182805461021990610b1b565b80156102665780601f1061023b57610100808354040283529160200191610266565b820191906000526020600020905b81548152906001019060200180831161024957829003601f168201915b5050505050905090565b60008061027b610426565b905061028881858561042a565b5060019392505050565b60025490565b6000806102a3610426565b90506102b08582856104de565b6102bb858585610528565b506001949350505050565b601290565b6000806102d6610426565b6001600160a01b038082166000908152600160209081526040808320938916835292905220549091506102889082908690610312908790610aec565b61042a565b610328610322610426565b8261064c565b50565b6001600160a01b0381166000908152602081905260409020545b919050565b61035c82610356610426565b836104de565b610366828261064c565b5050565b6060600480546101ed90610b1b565b600080610384610426565b6001600160a01b03808216600090815260016020908152604080832093891683529290522054909150838110156103d65760405162461bcd60e51b81526004016103cd90610a90565b60405180910390fd5b6102bb828686840361042a565b6000806103ee610426565b9050610288818585610528565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3390565b6001600160a01b0383166104505760405162461bcd60e51b81526004016103cd90610a4c565b6001600160a01b0382166104765760405162461bcd60e51b81526004016103cd90610907565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104d1908590610ad5565b60405180910390a3505050565b60006104ea84846103fb565b9050600019811461052257818110156105155760405162461bcd60e51b81526004016103cd90610949565b610522848484840361042a565b50505050565b6001600160a01b03831661054e5760405162461bcd60e51b81526004016103cd90610a07565b6001600160a01b0382166105745760405162461bcd60e51b81526004016103cd90610882565b61057f838383610739565b6001600160a01b038316600090815260208190526040902054818110156105b85760405162461bcd60e51b81526004016103cd90610980565b6001600160a01b038085166000908152602081905260408082208585039055918516815290812080548492906105ef908490610aec565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106399190610ad5565b60405180910390a3610522848484610739565b6001600160a01b0382166106725760405162461bcd60e51b81526004016103cd906109c6565b61067e82600083610739565b6001600160a01b038216600090815260208190526040902054818110156106b75760405162461bcd60e51b81526004016103cd906108c5565b6001600160a01b03831660009081526020819052604081208383039055600280548492906106e6908490610b04565b90915550506040516000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610729908690610ad5565b60405180910390a3610739836000845b505050565b80356001600160a01b038116811461034557600080fd5b600060208284031215610766578081fd5b61076f8261073e565b9392505050565b60008060408385031215610788578081fd5b6107918361073e565b915061079f6020840161073e565b90509250929050565b6000806000606084860312156107bc578081fd5b6107c58461073e565b92506107d36020850161073e565b9150604084013590509250925092565b600080604083850312156107f5578182fd5b6107fe8361073e565b946020939093013593505050565b60006020828403121561081d578081fd5b5035919050565b901515815260200190565b6000602080835283518082850152825b8181101561085b5785810183015185820160400152820161083f565b8181111561086c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526022908201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604082015261636560f01b606082015260800190565b60208082526022908201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604082015261737360f01b606082015260800190565b6020808252601d908201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604082015260600190565b60208082526026908201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604082015265616c616e636560d01b606082015260800190565b60208082526021908201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736040820152607360f81b606082015260800190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526024908201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646040820152637265737360e01b606082015260800190565b60208082526025908201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604082015264207a65726f60d81b606082015260800190565b90815260200190565b60ff91909116815260200190565b60008219821115610aff57610aff610b56565b500190565b600082821015610b1657610b16610b56565b500390565b600281046001821680610b2f57607f821691505b60208210811415610b5057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea26469706673582212208216d018f524599aa88923a5e4a394c913e83ff424b25ffba0f98e0f3944b33264736f6c63430008000033