60806040526000805460a060020a60ff02191690553480156200002157600080fd5b5060008054600160a060020a031916331790556040805180820190915260048082527f4154544e0000000000000000000000000000000000000000000000000000000060209092019182526200007a9160019162000127565b506040805180820190915260048082527f4154544e000000000000000000000000000000000000000000000000000000006020909201918252620000c19160029162000127565b506003805460ff191660069081179182905560ff91909116600a0a6005819055633b9aca000260048190559060006200010264010000000062000122810204565b600160a060020a03168152602081019190915260400160002055620001c9565b335b90565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200016a57805160ff19168380011785556200019a565b828001600101855582156200019a579182015b828111156200019a5782518255916020019190600101906200017d565b50620001a8929150620001ac565b5090565b6200012491905b80821115620001a85760008155600101620001b3565b61105280620001d96000396000f3006080604052600436106100fb5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610100578063095ea7b31461018a57806318160ddd146101c257806323b872dd146101e9578063313ce56714610213578063395093511461023e5780633f4ba83a1461026257806342966c68146102775780635c975abb1461028f57806370a08231146102a457806379cc6790146102c55780638456cb59146102e95780638da5cb5b146102fe57806395d89b411461032f578063a457c2d714610344578063a9059cbb14610368578063dd62ed3e1461038c578063f2fde38b146103b3575b600080fd5b34801561010c57600080fd5b506101156103d6565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561014f578181015183820152602001610137565b50505050905090810190601f16801561017c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561019657600080fd5b506101ae600160a060020a036004351660243561046b565b604080519115158252519081900360200190f35b3480156101ce57600080fd5b506101d7610488565b60408051918252519081900360200190f35b3480156101f557600080fd5b506101ae600160a060020a036004358116906024351660443561048e565b34801561021f57600080fd5b5061022861056d565b6040805160ff9092168252519081900360200190f35b34801561024a57600080fd5b506101ae600160a060020a0360043516602435610576565b34801561026e57600080fd5b506101ae6105ca565b34801561028357600080fd5b506101ae600435610645565b34801561029b57600080fd5b506101ae610660565b3480156102b057600080fd5b506101d7600160a060020a0360043516610670565b3480156102d157600080fd5b506101ae600160a060020a036004351660243561068b565b3480156102f557600080fd5b506101ae610697565b34801561030a57600080fd5b50610313610717565b60408051600160a060020a039092168252519081900360200190f35b34801561033b57600080fd5b50610115610726565b34801561035057600080fd5b506101ae600160a060020a0360043516602435610784565b34801561037457600080fd5b506101ae600160a060020a0360043516602435610836565b34801561039857600080fd5b506101d7600160a060020a036004358116906024351661084a565b3480156103bf57600080fd5b506103d4600160a060020a0360043516610875565b005b60018054604080516020601f600260001961010087891615020190951694909404938401819004810282018101909252828152606093909290918301828280156104615780601f1061043657610100808354040283529160200191610461565b820191906000526020600020905b81548152906001019060200180831161044457829003601f168201915b5050505050905090565b600061047f6104786108c7565b84846108cb565b50600192915050565b60045490565b600061049b848484610a4f565b610563846104a76108c7565b61055e85606060405190810160405280602881526020017f45524332303a207472616e7366657220616d6f756e742065786365656473206181526020017f6c6c6f77616e6365000000000000000000000000000000000000000000000000815250600760008b600160a060020a0316600160a060020a0316815260200190815260200160002060006105376108c7565b600160a060020a03168152602081019190915260400160002054919063ffffffff610c8a16565b6108cb565b5060019392505050565b60035460ff1690565b600061047f6105836108c7565b8461055e85600760006105946108c7565b600160a060020a03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610d2716565b60008054600160a060020a031633146105e257600080fd5b60005460a060020a900460ff1615156105fa57600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a150600190565b60006106586106526108c7565b83610d8b565b506001919050565b60005460a060020a900460ff1681565b600160a060020a031660009081526006602052604090205490565b600061047f8383610f23565b60008054600160a060020a031633146106af57600080fd5b60005460a060020a900460ff16156106c657600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a150600190565b600054600160a060020a031681565b60028054604080516020601f60001961010060018716150201909416859004938401819004810282018101909252828152606093909290918301828280156104615780601f1061043657610100808354040283529160200191610461565b600061047f6107916108c7565b8461055e85606060405190810160405280602581526020017f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7781526020017f207a65726f000000000000000000000000000000000000000000000000000000815250600760006107ff6108c7565b600160a060020a03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610c8a16565b600061047f6108436108c7565b8484610a4f565b600160a060020a03918216600090815260076020908152604080832093909416825291909152205490565b600054600160a060020a0316331461088c57600080fd5b600160a060020a038116156108c4576000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b3390565b60005460a060020a900460ff16156108e257600080fd5b600160a060020a0383161515610967576040805160e560020a62461bcd028152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821615156109ed576040805160e560020a62461bcd02815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03808416600081815260076020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60005460a060020a900460ff1615610a6657600080fd5b600160a060020a0383161515610aec576040805160e560020a62461bcd02815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a0382161515610b72576040805160e560020a62461bcd02815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051606081018252602681527f45524332303a207472616e7366657220616d6f756e74206578636565647320626020808301919091527f616c616e6365000000000000000000000000000000000000000000000000000082840152600160a060020a038616600090815260069091529190912054610bf991839063ffffffff610c8a16565b600160a060020a038085166000908152600660205260408082209390935590841681522054610c2e908263ffffffff610d2716565b600160a060020a0380841660008181526006602090815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000808285851115610d1d5760405160e560020a62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ce2578181015183820152602001610cca565b50505050905090810190601f168015610d0f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5050509103919050565b600082820183811015610d84576040805160e560020a62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60005460a060020a900460ff1615610da257600080fd5b600160a060020a0382161515610e28576040805160e560020a62461bcd02815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b60408051606081018252602281527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e6020808301919091527f636500000000000000000000000000000000000000000000000000000000000082840152600160a060020a038516600090815260069091529190912054610eaf91839063ffffffff610c8a16565b600160a060020a038316600090815260066020526040902055600454610edb908263ffffffff610fe416565b600455604080518281529051600091600160a060020a038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b60005460a060020a900460ff1615610f3a57600080fd5b610f448282610d8b565b610fe082610f506108c7565b61055e84606060405190810160405280602481526020017f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f7781526020017f616e6365000000000000000000000000000000000000000000000000000000008152506007600089600160a060020a0316600160a060020a0316815260200190815260200160002060006105376108c7565b5050565b6000610d8483836040805190810160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c8a5600a165627a7a72305820b2dda6d3704a3d88b2a9550667582cf80a4b0770aa06637001d91d07d61759460029