608060405267016345785d8a0000600d556702c68af0bb140000600e55612710600f55603260105560056011556012805462ffffff1916620100011790553480156200004a57600080fd5b50604051620032f0380380620032f08339810160408190526200006d91620003bb565b845185908590620000869060009060208501906200025e565b5080516200009c9060019060208401906200025e565b505050620000b9620000b3620000e560201b60201c565b620000e9565b620000c4836200013b565b620000cf82620001a3565b620000da8162000203565b5050505050620004ef565b3390565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6006546001600160a01b031633146200018a5760405162461bcd60e51b81526020600482018190526024820152600080516020620032d083398151915260448201526064015b60405180910390fd5b80516200019f90600b9060208401906200025e565b5050565b6006546001600160a01b03163314620001ee5760405162461bcd60e51b81526020600482018190526024820152600080516020620032d0833981519152604482015260640162000181565b80516200019f9060089060208401906200025e565b6006546001600160a01b031633146200024e5760405162461bcd60e51b81526020600482018190526024820152600080516020620032d0833981519152604482015260640162000181565b80516200019f90600a9060208401905b8280546200026c906200049c565b90600052602060002090601f016020900481019282620002905760008555620002db565b82601f10620002ab57805160ff1916838001178555620002db565b82800160010185558215620002db579182015b82811115620002db578251825591602001919060010190620002be565b50620002e9929150620002ed565b5090565b5b80821115620002e95760008155600101620002ee565b600082601f8301126200031657600080fd5b81516001600160401b0380821115620003335762000333620004d9565b604051601f8301601f19908116603f011681019082821181831017156200035e576200035e620004d9565b816040528381526020925086838588010111156200037b57600080fd5b600091505b838210156200039f578582018301518183018401529082019062000380565b83821115620003b15760008385830101525b9695505050505050565b600080600080600060a08688031215620003d457600080fd5b85516001600160401b0380821115620003ec57600080fd5b620003fa89838a0162000304565b965060208801519150808211156200041157600080fd5b6200041f89838a0162000304565b955060408801519150808211156200043657600080fd5b6200044489838a0162000304565b945060608801519150808211156200045b57600080fd5b6200046989838a0162000304565b935060808801519150808211156200048057600080fd5b506200048f8882890162000304565b9150509295509295909350565b600181811c90821680620004b157607f821691505b60208210811415620004d357634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b612dd180620004ff6000396000f3fe6080604052600436106102675760003560e01c8063715018a611610144578063ac9354e7116100b6578063d5abeb011161007a578063d5abeb01146106f7578063da3ef23f1461070d578063e985e9c51461072d578063efbd73f414610776578063f2fde38b14610796578063fa9ed7c6146107b657600080fd5b8063ac9354e71461067a578063b88d4fde1461069a578063bb8fddcc146106ba578063c87b56dd146106c2578063cd3c6c26146106e257600080fd5b80638da5cb5b116101085780638da5cb5b146105dc57806394354fd0146105fa57806395d89b4114610610578063a02cd2d814610625578063a22cb46514610645578063a475b5dd1461066557600080fd5b8063715018a61461055457806377097fc8146105695780637f00c7a61461057c578063811d24371461059c57806386f9e3f0146105bc57600080fd5b80632782fb22116101dd57806351830227116101a1578063518302271461049b57806353135ca0146104ba57806355f804b3146104da5780635c975abb146104fa5780636352211e1461051457806370a082311461053457600080fd5b80632782fb22146103f85780632a23d07d14610418578063326d43881461042e57806342842e0e1461044e578063438b63001461046e57600080fd5b8063095ea7b31161022f578063095ea7b31461033d57806312065fe01461035d57806313faede61461038057806318160ddd1461039657806318cae269146103ab57806323b872dd146103d857600080fd5b806301ffc9a71461026c57806302329a29146102a157806306e3c395146102c357806306fdde03146102e3578063081812fc14610305575b600080fd5b34801561027857600080fd5b5061028c6102873660046128ac565b6107cc565b60405190151581526020015b60405180910390f35b3480156102ad57600080fd5b506102c16102bc366004612891565b61081e565b005b3480156102cf57600080fd5b506102c16102de36600461281c565b610864565b3480156102ef57600080fd5b506102f86108ab565b6040516102989190612b4a565b34801561031157600080fd5b5061032561032036600461291b565b61093d565b6040516001600160a01b039091168152602001610298565b34801561034957600080fd5b506102c16103583660046127f2565b6109d2565b34801561036957600080fd5b50610372610ae3565b604051908152602001610298565b34801561038c57600080fd5b50610372600e5481565b3480156103a257600080fd5b50610372610b15565b3480156103b757600080fd5b506103726103c63660046126c2565b60136020526000908152604090205481565b3480156103e457600080fd5b506102c16103f3366004612710565b610b25565b34801561040457600080fd5b506102c16104133660046128e6565b610b56565b34801561042457600080fd5b50610372600d5481565b34801561043a57600080fd5b506102c16104493660046128e6565b610b97565b34801561045a57600080fd5b506102c1610469366004612710565b610bd4565b34801561047a57600080fd5b5061048e6104893660046126c2565b610bef565b6040516102989190612b06565b3480156104a757600080fd5b5060125461028c90610100900460ff1681565b3480156104c657600080fd5b5060125461028c9062010000900460ff1681565b3480156104e657600080fd5b506102c16104f53660046128e6565b610cd0565b34801561050657600080fd5b5060125461028c9060ff1681565b34801561052057600080fd5b5061032561052f36600461291b565b610d0d565b34801561054057600080fd5b5061037261054f3660046126c2565b610d84565b34801561056057600080fd5b506102c1610e0b565b6102c1610577366004612957565b610e41565b34801561058857600080fd5b506102c161059736600461291b565b611213565b3480156105a857600080fd5b506102c16105b736600461291b565b611242565b3480156105c857600080fd5b506102c16105d7366004612891565b611271565b3480156105e857600080fd5b506006546001600160a01b0316610325565b34801561060657600080fd5b5061037260105481565b34801561061c57600080fd5b506102f86112b7565b34801561063157600080fd5b506102c161064036600461291b565b6112c6565b34801561065157600080fd5b506102c16106603660046127c8565b6112f5565b34801561067157600080fd5b506102c16113ba565b34801561068657600080fd5b506102c161069536600461291b565b6113f5565b3480156106a657600080fd5b506102c16106b536600461274c565b611424565b6102c161145c565b3480156106ce57600080fd5b506102f86106dd36600461291b565b6117cb565b3480156106ee57600080fd5b506102c161194a565b34801561070357600080fd5b50610372600f5481565b34801561071957600080fd5b506102c16107283660046128e6565b611bbf565b34801561073957600080fd5b5061028c6107483660046126dd565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561078257600080fd5b506102c1610791366004612934565b611bfc565b3480156107a257600080fd5b506102c16107b13660046126c2565b611ceb565b3480156107c257600080fd5b5061037260115481565b60006001600160e01b031982166380ac58cd60e01b14806107fd57506001600160e01b03198216635b5e139f60e01b145b8061081857506301ffc9a760e01b6001600160e01b03198316145b92915050565b6006546001600160a01b031633146108515760405162461bcd60e51b815260040161084890612baf565b60405180910390fd5b6012805460ff1916911515919091179055565b6006546001600160a01b0316331461088e5760405162461bcd60e51b815260040161084890612baf565b61089a600c60006124f6565b6108a6600c8383612514565b505050565b6060600080546108ba90612cc3565b80601f01602080910402602001604051908101604052809291908181526020018280546108e690612cc3565b80156109335780601f1061090857610100808354040283529160200191610933565b820191906000526020600020905b81548152906001019060200180831161091657829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b03166109b65760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610848565b506000908152600460205260409020546001600160a01b031690565b60006109dd82610d0d565b9050806001600160a01b0316836001600160a01b03161415610a4b5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610848565b336001600160a01b0382161480610a675750610a678133610748565b610ad95760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610848565b6108a68383611d86565b6006546000906001600160a01b03163314610b105760405162461bcd60e51b815260040161084890612baf565b504790565b6000610b2060075490565b905090565b610b2f3382611df4565b610b4b5760405162461bcd60e51b815260040161084890612be4565b6108a6838383611eeb565b6006546001600160a01b03163314610b805760405162461bcd60e51b815260040161084890612baf565b8051610b9390600b906020840190612577565b5050565b6006546001600160a01b03163314610bc15760405162461bcd60e51b815260040161084890612baf565b8051610b9390600a906020840190612577565b6108a683838360405180602001604052806000815250611424565b60606000610bfc83610d84565b905060008167ffffffffffffffff811115610c1957610c19612d6f565b604051908082528060200260200182016040528015610c42578160200160208202803683370190505b509050600160005b8381108015610c5b5750600f548211155b15610cc6576000610c6b83610d0d565b9050866001600160a01b0316816001600160a01b03161415610cb35782848381518110610c9a57610c9a612d59565b602090810291909101015281610caf81612cfe565b9250505b82610cbd81612cfe565b93505050610c4a565b5090949350505050565b6006546001600160a01b03163314610cfa5760405162461bcd60e51b815260040161084890612baf565b8051610b93906008906020840190612577565b6000818152600260205260408120546001600160a01b0316806108185760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610848565b60006001600160a01b038216610def5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610848565b506001600160a01b031660009081526003602052604090205490565b6006546001600160a01b03163314610e355760405162461bcd60e51b815260040161084890612baf565b610e3f600061208b565b565b81600081118015610e5457506010548111155b610e975760405162461bcd60e51b8152602060048201526014602482015273496e76616c6964206d696e7420616d6f756e742160601b6044820152606401610848565b600f5481610ea460075490565b610eae9190612c35565b1115610efc5760405162461bcd60e51b815260206004820152601f60248201527f5468697320747820776f756c6420657863656564206d617820737570706c79006044820152606401610848565b60125462010000900460ff161515600114156111055760125460ff1615610f5e5760405162461bcd60e51b81526020600482015260166024820152751d1a194818dbdb9d1c9858dd081a5cc81c185d5cd95960521b6044820152606401610848565b60125462010000900460ff16610faf5760405162461bcd60e51b815260206004820152601660248201527550726573616c65206973206e6f74204163746976652160501b6044820152606401610848565b81604051602001610fc09190612a64565b60405160208183030381529060405280519060200120600b604051602001610fe89190612abd565b604051602081830303815290604052805190602001201461103f5760405162461bcd60e51b8152602060048201526011602482015270496e76616c6964205369676e617475726560781b6044820152606401610848565b82600d5461104d9190612c61565b34101561108e5760405162461bcd60e51b815260206004820152600f60248201526e42616c616e636520746f6f206c6f7760881b6044820152606401610848565b336000908152601360205260409020546011546110ab8583612c35565b11156110f95760405162461bcd60e51b815260206004820152601f60248201527f6d6178204e4654207065722070726573616c65207478206578636565646564006044820152606401610848565b61110333856120dd565b505b60125462010000900460ff166108a65760125460ff16156111615760405162461bcd60e51b81526020600482015260166024820152751d1a194818dbdb9d1c9858dd081a5cc81c185d5cd95960521b6044820152606401610848565b60125462010000900460ff16156111ba5760405162461bcd60e51b815260206004820152601760248201527f50726573616c65206973207374696c6c206163746976650000000000000000006044820152606401610848565b82600e546111c89190612c61565b3410156112095760405162461bcd60e51b815260206004820152600f60248201526e42616c616e636520746f6f206c6f7760881b6044820152606401610848565b6108a633846120dd565b6006546001600160a01b0316331461123d5760405162461bcd60e51b815260040161084890612baf565b601055565b6006546001600160a01b0316331461126c5760405162461bcd60e51b815260040161084890612baf565b600e55565b6006546001600160a01b0316331461129b5760405162461bcd60e51b815260040161084890612baf565b60128054911515620100000262ff000019909216919091179055565b6060600180546108ba90612cc3565b6006546001600160a01b031633146112f05760405162461bcd60e51b815260040161084890612baf565b601155565b6001600160a01b03821633141561134e5760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610848565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6006546001600160a01b031633146113e45760405162461bcd60e51b815260040161084890612baf565b6012805461ff001916610100179055565b6006546001600160a01b0316331461141f5760405162461bcd60e51b815260040161084890612baf565b600d55565b61142e3383611df4565b61144a5760405162461bcd60e51b815260040161084890612be4565b6114568484848461211a565b50505050565b6006546001600160a01b031633146114865760405162461bcd60e51b815260040161084890612baf565b60004790506000600c6002815481106114a1576114a1612d59565b6000918252602090912001546001600160a01b03166103e86114c48460e1612c61565b6114ce9190612c4d565b604051600081818185875af1925050503d806000811461150a576040519150601f19603f3d011682016040523d82523d6000602084013e61150f565b606091505b505090508061151d57600080fd5b6000600c60038154811061153357611533612d59565b6000918252602090912001546001600160a01b03166103e86115568560e1612c61565b6115609190612c4d565b604051600081818185875af1925050503d806000811461159c576040519150601f19603f3d011682016040523d82523d6000602084013e6115a1565b606091505b50509050806115af57600080fd5b6000600c6001815481106115c5576115c5612d59565b6000918252602090912001546001600160a01b03166103e86115e88660c8612c61565b6115f29190612c4d565b604051600081818185875af1925050503d806000811461162e576040519150601f19603f3d011682016040523d82523d6000602084013e611633565b606091505b505090508061164157600080fd5b60007371cfb6c8afa53b05148b8bf420e566caee21d6bc6103e8611666876064612c61565b6116709190612c4d565b604051600081818185875af1925050503d80600081146116ac576040519150601f19603f3d011682016040523d82523d6000602084013e6116b1565b606091505b50509050806116bf57600080fd5b6000600c6000815481106116d5576116d5612d59565b6000918252602090912001546001600160a01b03166103e86116f8886032612c61565b6117029190612c4d565b604051600081818185875af1925050503d806000811461173e576040519150601f19603f3d011682016040523d82523d6000602084013e611743565b606091505b505090508061175157600080fd5b60006117656006546001600160a01b031690565b6001600160a01b03164760405160006040518083038185875af1925050503d80600081146117af576040519150601f19603f3d011682016040523d82523d6000602084013e6117b4565b606091505b50509050806117c257600080fd5b50505050505050565b6000818152600260205260409020546060906001600160a01b031661184a5760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b6064820152608401610848565b601254610100900460ff166118eb57600a805461186690612cc3565b80601f016020809104026020016040519081016040528092919081815260200182805461189290612cc3565b80156118df5780601f106118b4576101008083540402835291602001916118df565b820191906000526020600020905b8154815290600101906020018083116118c257829003601f168201915b50505050509050919050565b60006118f561214d565b905060008151116119155760405180602001604052806000815250611943565b8061191f8461215c565b600960405160200161193393929190612a80565b6040516020818303038152906040525b9392505050565b6006546001600160a01b031633146119745760405162461bcd60e51b815260040161084890612baf565b6000479050600c60028154811061198d5761198d612d59565b6000918252602090912001546001600160a01b03166108fc6103e86119b38460e1612c61565b6119bd9190612c4d565b6040518115909202916000818181858888f193505050501580156119e5573d6000803e3d6000fd5b50600c6003815481106119fa576119fa612d59565b6000918252602090912001546001600160a01b03166108fc6103e8611a208460e1612c61565b611a2a9190612c4d565b6040518115909202916000818181858888f19350505050158015611a52573d6000803e3d6000fd5b50600c600181548110611a6757611a67612d59565b6000918252602090912001546001600160a01b03166108fc6103e8611a8d8460c8612c61565b611a979190612c4d565b6040518115909202916000818181858888f19350505050158015611abf573d6000803e3d6000fd5b507371cfb6c8afa53b05148b8bf420e566caee21d6bc6108fc6103e8611ae6846064612c61565b611af09190612c4d565b6040518115909202916000818181858888f19350505050158015611b18573d6000803e3d6000fd5b50600c600081548110611b2d57611b2d612d59565b6000918252602090912001546001600160a01b03166108fc6103e8611b53846032612c61565b611b5d9190612c4d565b6040518115909202916000818181858888f19350505050158015611b85573d6000803e3d6000fd5b506006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610b93573d6000803e3d6000fd5b6006546001600160a01b03163314611be95760405162461bcd60e51b815260040161084890612baf565b8051610b93906009906020840190612577565b81600081118015611c0f57506010548111155b611c525760405162461bcd60e51b8152602060048201526014602482015273496e76616c6964206d696e7420616d6f756e742160601b6044820152606401610848565b600f5481611c5f60075490565b611c699190612c35565b1115611cb75760405162461bcd60e51b815260206004820152601f60248201527f5468697320747820776f756c6420657863656564206d617820737570706c79006044820152606401610848565b6006546001600160a01b03163314611ce15760405162461bcd60e51b815260040161084890612baf565b6108a682846120dd565b6006546001600160a01b03163314611d155760405162461bcd60e51b815260040161084890612baf565b6001600160a01b038116611d7a5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610848565b611d838161208b565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611dbb82610d0d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b0316611e6d5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610848565b6000611e7883610d0d565b9050806001600160a01b0316846001600160a01b03161480611eb35750836001600160a01b0316611ea88461093d565b6001600160a01b0316145b80611ee357506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b0316611efe82610d0d565b6001600160a01b031614611f665760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610848565b6001600160a01b038216611fc85760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610848565b611fd3600082611d86565b6001600160a01b0383166000908152600360205260408120805460019290611ffc908490612c80565b90915550506001600160a01b038216600090815260036020526040812080546001929061202a908490612c35565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b600680546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60005b818110156108a6576120f6600780546001019055565b6121088361210360075490565b61225a565b8061211281612cfe565b9150506120e0565b612125848484611eeb565b61213184848484612274565b6114565760405162461bcd60e51b815260040161084890612b5d565b6060600880546108ba90612cc3565b6060816121805750506040805180820190915260018152600360fc1b602082015290565b8160005b81156121aa578061219481612cfe565b91506121a39050600a83612c4d565b9150612184565b60008167ffffffffffffffff8111156121c5576121c5612d6f565b6040519080825280601f01601f1916602001820160405280156121ef576020820181803683370190505b5090505b8415611ee357612204600183612c80565b9150612211600a86612d19565b61221c906030612c35565b60f81b81838151811061223157612231612d59565b60200101906001600160f81b031916908160001a905350612253600a86612c4d565b94506121f3565b610b93828260405180602001604052806000815250612381565b60006001600160a01b0384163b1561237657604051630a85bd0160e11b81526001600160a01b0385169063150b7a02906122b8903390899088908890600401612ac9565b602060405180830381600087803b1580156122d257600080fd5b505af1925050508015612302575060408051601f3d908101601f191682019092526122ff918101906128c9565b60015b61235c573d808015612330576040519150601f19603f3d011682016040523d82523d6000602084013e612335565b606091505b5080516123545760405162461bcd60e51b815260040161084890612b5d565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611ee3565b506001949350505050565b61238b83836123b4565b6123986000848484612274565b6108a65760405162461bcd60e51b815260040161084890612b5d565b6001600160a01b03821661240a5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610848565b6000818152600260205260409020546001600160a01b03161561246f5760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610848565b6001600160a01b0382166000908152600360205260408120805460019290612498908490612c35565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b5080546000825590600052602060002090810190611d8391906125eb565b828054828255906000526020600020908101928215612567579160200282015b828111156125675781546001600160a01b0319166001600160a01b03843516178255602090920191600190910190612534565b506125739291506125eb565b5090565b82805461258390612cc3565b90600052602060002090601f0160209004810192826125a55760008555612567565b82601f106125be57805160ff1916838001178555612567565b82800160010185558215612567579182015b828111156125675782518255916020019190600101906125d0565b5b8082111561257357600081556001016125ec565b600067ffffffffffffffff8084111561261b5761261b612d6f565b604051601f8501601f19908116603f0116810190828211818310171561264357612643612d6f565b8160405280935085815286868601111561265c57600080fd5b858560208301376000602087830101525050509392505050565b80356001600160a01b038116811461268d57600080fd5b919050565b8035801515811461268d57600080fd5b600082601f8301126126b357600080fd5b61194383833560208501612600565b6000602082840312156126d457600080fd5b61194382612676565b600080604083850312156126f057600080fd5b6126f983612676565b915061270760208401612676565b90509250929050565b60008060006060848603121561272557600080fd5b61272e84612676565b925061273c60208501612676565b9150604084013590509250925092565b6000806000806080858703121561276257600080fd5b61276b85612676565b935061277960208601612676565b925060408501359150606085013567ffffffffffffffff81111561279c57600080fd5b8501601f810187136127ad57600080fd5b6127bc87823560208401612600565b91505092959194509250565b600080604083850312156127db57600080fd5b6127e483612676565b915061270760208401612692565b6000806040838503121561280557600080fd5b61280e83612676565b946020939093013593505050565b6000806020838503121561282f57600080fd5b823567ffffffffffffffff8082111561284757600080fd5b818501915085601f83011261285b57600080fd5b81358181111561286a57600080fd5b8660208260051b850101111561287f57600080fd5b60209290920196919550909350505050565b6000602082840312156128a357600080fd5b61194382612692565b6000602082840312156128be57600080fd5b813561194381612d85565b6000602082840312156128db57600080fd5b815161194381612d85565b6000602082840312156128f857600080fd5b813567ffffffffffffffff81111561290f57600080fd5b611ee3848285016126a2565b60006020828403121561292d57600080fd5b5035919050565b6000806040838503121561294757600080fd5b8235915061270760208401612676565b6000806040838503121561296a57600080fd5b82359150602083013567ffffffffffffffff81111561298857600080fd5b612994858286016126a2565b9150509250929050565b600081518084526129b6816020860160208601612c97565b601f01601f19169290920160200192915050565b8054600090600181811c90808316806129e457607f831692505b6020808410821415612a0657634e487b7160e01b600052602260045260246000fd5b818015612a1a5760018114612a2b57612a58565b60ff19861689528489019650612a58565b60008881526020902060005b86811015612a505781548b820152908501908301612a37565b505084890196505b50505050505092915050565b60008251612a76818460208701612c97565b9190910192915050565b60008451612a92818460208901612c97565b845190830190612aa6818360208901612c97565b612ab2818301866129ca565b979650505050505050565b600061194382846129ca565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612afc9083018461299e565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612b3e57835183529284019291840191600101612b22565b50909695505050505050565b602081526000611943602083018461299e565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b60008219821115612c4857612c48612d2d565b500190565b600082612c5c57612c5c612d43565b500490565b6000816000190483118215151615612c7b57612c7b612d2d565b500290565b600082821015612c9257612c92612d2d565b500390565b60005b83811015612cb2578181015183820152602001612c9a565b838111156114565750506000910152565b600181811c90821680612cd757607f821691505b60208210811415612cf857634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415612d1257612d12612d2d565b5060010190565b600082612d2857612d28612d43565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160e01b031981168114611d8357600080fdfea26469706673582212209a3b0e6f6d38610f010b9f1b3a294dc2d42942859951fa1a1d4f7f182de47d8764736f6c634300080700334f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657200000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000000001c000000000000000000000000000000000000000000000000000000000000000035244420000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000552444243430000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010533241747830716659693332626c6546000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d5031557a776a4b4268647a486a613169525069614475755059653654664470467a4d4a6f5036536847765a452f000000000000000000000000000000000000000000000000000000000000000000000000000000000045697066733a2f2f516d544164615a57346b577178756b75525579794454456b525332446d466a70736b4d37636532435250354c51332f756e72657665616c65642e6a736f6e000000000000000000000000000000000000000000000000000000