0x60806040526019600155348015610014575f80fd5b5061001e33610040565b61003b73833589fcd6edb6e08f4c7c32d4f71b54bda0291361008f565b610302565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f546001600160a01b031633146100ed5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6001600160a01b0381165f9081526003602052604090205460ff161561016e5760405162461bcd60e51b815260206004820152603060248201527f53574150415745424f3a2041646472657373206d75737420626520646966666560448201526f72656e74207468616e206265666f726560801b60648201526084016100e4565b6001600160a01b0381166101c75760405162461bcd60e51b815260206004820152602d60248201525f8051602061365283398151915260448201526c207a65726f206164647265737360981b60648201526084016100e4565b61deac196001600160a01b038216016102255760405162461bcd60e51b815260206004820152602d60248201525f8051602061365283398151915260448201526c2064656164206164647265737360981b60648201526084016100e4565b6001600160a01b0381165f908152600360205260409020805460ff19166001179055610252815f19610255565b50565b60405163095ea7b360e01b8152734752ba5dbc23f44d87826276bf6fd6b1c372ad246004820152602481018290526001600160a01b0383169063095ea7b3906044016020604051808303815f875af11580156102b3573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102d791906102dc565b505050565b5f602082840312156102ec575f80fd5b815180151581146102fb575f80fd5b9392505050565b6133438061030f5f395ff3fe60806040526004361061014a575f3560e01c80638da5cb5b116100b3578063ad5c46481161006d578063ad5c464814610396578063b9aa2c1f146103b0578063c2fbec11146103c3578063d654e9a4146103e2578063f2fde38b14610401578063fa19dc0714610420575f80fd5b80638da5cb5b146102df5780638da9f377146102fb578063906e9dd01461031a57806395ccea67146103395780639c833fa714610358578063a5ece94114610377575f80fd5b806348eca45c1161010457806348eca45c146102385780634f08343d146102575780636b792c4b14610278578063715018a6146102975780637ce3489b146102ab5780637fd6f15c146102ca575f80fd5b80630f91b5ac1461015557806312065fe01461018957806317f30e43146101a55780631803e284146101e457806332fe7b26146101f95780633b5ade2d14610219575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061017461016f366004612b5b565b61043f565b60405190151581526020015b60405180910390f35b348015610194575f80fd5b50475b604051908152602001610180565b3480156101b0575f80fd5b506101cc738909dc15e40173ff4699343b6eb8132c65e18ec681565b6040516001600160a01b039091168152602001610180565b3480156101ef575f80fd5b506101cc61dead81565b348015610204575f80fd5b506101cc5f805160206132ee83398151915281565b348015610224575f80fd5b506101cc610233366004612b7d565b610490565b348015610243575f80fd5b50610197610252366004612b5b565b61051d565b348015610262575f80fd5b50610276610271366004612c8f565b610585565b005b348015610283575f80fd5b50610276610292366004612cc1565b61072b565b3480156102a2575f80fd5b5061027661078a565b3480156102b6575f80fd5b506102766102c5366004612cc1565b6107be565b3480156102d5575f80fd5b5061019760015481565b3480156102ea575f80fd5b505f546001600160a01b03166101cc565b348015610306575f80fd5b50610276610315366004612b5b565b6108ec565b348015610325575f80fd5b50610276610334366004612b5b565b6109ce565b348015610344575f80fd5b50610276610353366004612cd8565b610b99565b348015610363575f80fd5b50610276610372366004612d02565b610be7565b348015610382575f80fd5b506002546101cc906001600160a01b031681565b3480156103a1575f80fd5b506101cc6006602160991b0181565b6102766103be366004612dcd565b610c64565b3480156103ce575f80fd5b506102766103dd366004612c8f565b610dff565b3480156103ed575f80fd5b506101976103fc366004612e1d565b610ed9565b34801561040c575f80fd5b5061027661041b366004612b5b565b610f82565b34801561042b575f80fd5b5061027661043a366004612b5b565b611019565b5f80546001600160a01b031633146104725760405162461bcd60e51b815260040161046990612e61565b60405180910390fd5b506001600160a01b03165f9081526003602052604090205460ff1690565b60405163e6a4390560e01b81526001600160a01b038084166004830152821660248201525f90738909dc15e40173ff4699343b6eb8132c65e18ec69063e6a4390590604401602060405180830381865afa1580156104f0573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105149190612e96565b90505b92915050565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610561573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105179190612eb1565b5f546001600160a01b031633146105ae5760405162461bcd60e51b815260040161046990612e61565b5f5b81518110156107275760035f8383815181106105ce576105ce612ec8565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff16156106115760405162461bcd60e51b815260040161046990612edc565b5f6001600160a01b031682828151811061062d5761062d612ec8565b60200260200101516001600160a01b03160361065b5760405162461bcd60e51b815260040161046990612f2c565b61dead6001600160a01b031682828151811061067957610679612ec8565b60200260200101516001600160a01b0316036106a75760405162461bcd60e51b815260040161046990612f79565b600160035f8484815181106106be576106be612ec8565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020015f205f6101000a81548160ff02191690831515021790555061071f82828151811061071057610710612ec8565b60200260200101515f19611099565b6001016105b0565b5050565b5f546001600160a01b031633146107545760405162461bcd60e51b815260040161046990612e61565b5f80546040516001600160a01b039091169183156108fc02918491818181858888f19350505050158015610727573d5f803e3d5ffd5b5f546001600160a01b031633146107b35760405162461bcd60e51b815260040161046990612e61565b6107bc5f611114565b565b5f546001600160a01b031633146107e75760405162461bcd60e51b815260040161046990612e61565b602881111561082c5760405162461bcd60e51b815260206004820152601160248201527053574150415745424f3a204d617820342560781b6044820152606401610469565b806001540361087d5760405162461bcd60e51b815260206004820152601960248201527f53574150415745424f3a204e656564206e65772076616c7565000000000000006044820152606401610469565b805f036108e75760405162461bcd60e51b815260206004820152603260248201527f53574150415745424f3a204e656564206e65772076616c7565206d757374206260448201527106520646966666572656e74207468616e20360741b6064820152608401610469565b600155565b5f546001600160a01b031633146109155760405162461bcd60e51b815260040161046990612e61565b6001600160a01b0381165f9081526003602052604090205460ff161561094d5760405162461bcd60e51b815260040161046990612edc565b6001600160a01b0381166109735760405162461bcd60e51b815260040161046990612f2c565b61deac196001600160a01b0382160161099e5760405162461bcd60e51b815260040161046990612f79565b6001600160a01b0381165f908152600360205260409020805460ff191660011790556109cb815f19611099565b50565b5f546001600160a01b031633146109f75760405162461bcd60e51b815260040161046990612e61565b6002546001600160a01b03808316911603610a7a5760405162461bcd60e51b815260206004820152603a60248201527f53574150415745424f3a204d61726b6574696e672041646472657373206d757360448201527f7420626520646966666572656e74207468616e206265666f72650000000000006064820152608401610469565b6001600160a01b038116610af65760405162461bcd60e51b815260206004820152603760248201527f53574150415745424f3a204d61726b6574696e6720416464726573732063616e60448201527f6e6f7420626520746865207a65726f20616464726573730000000000000000006064820152608401610469565b61deac196001600160a01b03821601610b775760405162461bcd60e51b815260206004820152603760248201527f53574150415745424f3a204d61726b6574696e6720416464726573732063616e60448201527f6e6f7420626520746865206465616420616464726573730000000000000000006064820152608401610469565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314610bc25760405162461bcd60e51b815260040161046990612e61565b610727610bd65f546001600160a01b031690565b6001600160a01b0384169083611163565b5f546001600160a01b03163314610c105760405162461bcd60e51b815260040161046990612e61565b5f5b8251811015610c5f57610c57838281518110610c3057610c30612ec8565b6020026020010151838381518110610c4a57610c4a612ec8565b6020026020010151611099565b600101610c12565b505050565b5f8211610cc65760405162461bcd60e51b815260206004820152602a60248201527f53574150415745424f3a20616d6f756e74496e206d75737420626520677265616044820152690746572207468616e20360b41b6064820152608401610469565b8015610d65576001600160a01b0384165f9081526003602052604090205460ff1680610d0957506001600160a01b0383165f9081526003602052604090205460ff165b15610d5a576001600160a01b03841615801590610d2e57506001600160a01b03831615155b610d4a5760405162461bcd60e51b815260040161046990612fc6565b610d558484846111c6565b610df9565b610d558484846113be565b6001600160a01b0384165f9081526003602052604090205460ff1680610da257506001600160a01b0383165f9081526003602052604090205460ff165b15610dee576001600160a01b03841615801590610dc757506001600160a01b03831615155b610de35760405162461bcd60e51b815260040161046990612fc6565b610d5584848461152f565b610df98484846116b2565b50505050565b5f546001600160a01b03163314610e285760405162461bcd60e51b815260040161046990612e61565b5f5b81518110156107275760035f838381518110610e4857610e48612ec8565b6020908102919091018101516001600160a01b031682528101919091526040015f205460ff16610e8a5760405162461bcd60e51b815260040161046990612edc565b5f60035f848481518110610ea057610ea0612ec8565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff1916911515919091179055600101610e2a565b60405163d06ca61f60e01b81525f9081905f805160206132ee8339815191529063d06ca61f90610f0f9087908790600401613040565b5f60405180830381865afa158015610f29573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610f509190810190613058565b90508060018251610f6191906130fd565b81518110610f7157610f71612ec8565b602002602001015191505092915050565b5f546001600160a01b03163314610fab5760405162461bcd60e51b815260040161046990612e61565b6001600160a01b0381166110105760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610469565b6109cb81611114565b5f546001600160a01b031633146110425760405162461bcd60e51b815260040161046990612e61565b6001600160a01b0381165f9081526003602052604090205460ff166110795760405162461bcd60e51b815260040161046990612edc565b6001600160a01b03165f908152600360205260409020805460ff19169055565b60405163095ea7b360e01b81525f805160206132ee8339815191526004820152602481018290526001600160a01b0383169063095ea7b3906044016020604051808303815f875af11580156110f0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c5f9190613110565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040516001600160a01b038316602482015260448101829052610c5f90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611823565b6040805160028082526060820183525f9260208301908036833750506040805160028082526060820183529394505f93909250906020830190803683375050506001600160a01b0386165f9081526003602052604090205490915060ff161561130a5784825f8151811061123c5761123c612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b018260018151811061127757611277612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b01815f815181106112b1576112b1612ec8565b60200260200101906001600160a01b031690816001600160a01b03168152505083816001815181106112e5576112e5612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250506113ab565b6001600160a01b0384165f9081526003602052604090205460ff161561133d5784825f8151811061123c5761123c612ec8565b60405162461bcd60e51b815260206004820152603c60248201527f53574150504c4159534d415254444546493a20556e657870656374656420636f60448201527f6e646974696f6e3a20746f6b656e206973206e6f7420537461626c65000000006064820152608401610469565b6113b7858484846118f4565b5050505050565b6040805160028082526060820183525f926020830190803683370190505090506001600160a01b03841661145f576006602160991b01815f8151811061140657611406612ec8565b60200260200101906001600160a01b031690816001600160a01b031681525050828160018151811061143a5761143a612ec8565b60200260200101906001600160a01b031690816001600160a01b031681525050611523565b6001600160a01b0383166114bb5783815f8151811061148057611480612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b018160018151811061143a5761143a612ec8565b83815f815181106114ce576114ce612ec8565b60200260200101906001600160a01b031690816001600160a01b031681525050828160018151811061150257611502612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250505b610df984848484611e91565b6040805160028082526060820183525f9260208301908036833750506040805160028082526060820183529394505f93909250906020830190803683375050506001600160a01b0386165f9081526003602052604090205490915060ff16156116735784825f815181106115a5576115a5612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b01826001815181106115e0576115e0612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b01815f8151811061161a5761161a612ec8565b60200260200101906001600160a01b031690816001600160a01b031681525050838160018151811061164e5761164e612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250506116a6565b6001600160a01b0384165f9081526003602052604090205460ff161561133d5784825f815181106115a5576115a5612ec8565b6113b78584848461216f565b6040805160028082526060820183525f926020830190803683370190505090506001600160a01b038416611753576006602160991b01815f815181106116fa576116fa612ec8565b60200260200101906001600160a01b031690816001600160a01b031681525050828160018151811061172e5761172e612ec8565b60200260200101906001600160a01b031690816001600160a01b031681525050611817565b6001600160a01b0383166117af5783815f8151811061177457611774612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250506006602160991b018160018151811061172e5761172e612ec8565b83815f815181106117c2576117c2612ec8565b60200260200101906001600160a01b031690816001600160a01b03168152505082816001815181106117f6576117f6612ec8565b60200260200101906001600160a01b031690816001600160a01b0316815250505b610df98484848461253d565b5f611877826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166127109092919063ffffffff16565b805190915015610c5f57808060200190518101906118959190613110565b610c5f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610469565b60045460ff16156119175760405162461bcd60e51b81526004016104699061312b565b6004805460ff191660011781556040516370a0823160e01b8152339181019190915283906001600160a01b038616906370a0823190602401602060405180830381865afa15801561196a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061198e9190612eb1565b10156119ac5760405162461bcd60e51b815260040161046990613162565b6001600160a01b0384165f9081526003602052604090205460ff1615611c3a576040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa158015611a10573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611a349190612eb1565b9050611a4b6001600160a01b038616333087612726565b6040516370a0823160e01b81523060048201525f906001600160a01b038716906370a0823190602401602060405180830381865afa158015611a8f573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ab39190612eb1565b90505f611ac083836130fd565b905085811115611ae25760405162461bcd60e51b8152600401610469906131a7565b5f61271060015483611af491906131fd565b611afe9190613214565b9050611b0a818761275e565b5f611b1582846130fd565b6040516318cbafe560e01b81529091505f905f805160206132ee833981519152906318cbafe590611b5290859085908d9030904290600401613233565b5f604051808303815f875af1158015611b6d573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052611b949190810190613058565b90505f8160018351611ba691906130fd565b81518110611bb657611bb6612ec8565b602002602001015190505f805160206132ee8339815191526001600160a01b031663b6f9de95825f8b33426040518663ffffffff1660e01b8152600401611c00949392919061326e565b5f604051808303818588803b158015611c17575f80fd5b505af1158015611c29573d5f803e3d5ffd5b505050505050505050505050611e81565b6040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa158015611c7e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611ca29190612eb1565b9050611cb96001600160a01b038616333087612726565b6040516370a0823160e01b81523060048201525f906001600160a01b038716906370a0823190602401602060405180830381865afa158015611cfd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d219190612eb1565b90505f611d2e83836130fd565b905085811115611d505760405162461bcd60e51b8152600401610469906131a7565b5f61271060015483611d6291906131fd565b611d6c9190613214565b9050611d78818761275e565b5f611d8382846130fd565b60405163791ac94760e01b815290915047905f805160206132ee8339815191529063791ac94790611dc09085905f908d9030904290600401613233565b5f604051808303815f87803b158015611dd7575f80fd5b505af1158015611de9573d5f803e3d5ffd5b505050505f8147611dfa91906130fd565b604051637ff36ab560e01b81529091505f805160206132ee83398151915290637ff36ab5908390611e35905f908d903390429060040161326e565b5f6040518083038185885af1158015611e50573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f19168201604052611e789190810190613058565b50505050505050505b50506004805460ff191690555050565b60045460ff1615611eb45760405162461bcd60e51b81526004016104699061312b565b6004805460ff191660011790556001600160a01b038416611f625734821115611eef5760405162461bcd60e51b815260040161046990612fc6565b5f61271060015434611f0191906131fd565b611f0b9190613214565b6002546040519192506001600160a01b03169082156108fc029083905f818181858888f19350505050158015611f43573d5f803e3d5ffd5b505f611f4f82346130fd565b9050611f5b81846127d4565b5050611e81565b6040516370a0823160e01b815233600482015282906001600160a01b038616906370a0823190602401602060405180830381865afa158015611fa6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611fca9190612eb1565b1015611fe85760405162461bcd60e51b815260040161046990613162565b6040516370a0823160e01b81523060048201525f906001600160a01b038616906370a0823190602401602060405180830381865afa15801561202c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120509190612eb1565b90506120676001600160a01b038616333086612726565b6040516370a0823160e01b81523060048201525f906001600160a01b038716906370a0823190602401602060405180830381865afa1580156120ab573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906120cf9190612eb1565b90505f6120dc83836130fd565b9050848111156120fe5760405162461bcd60e51b8152600401610469906131a7565b5f6127106001548361211091906131fd565b61211a9190613214565b9050612126818661275e565b5f61213182846130fd565b90506001600160a01b0388166121505761214b818761283e565b61215a565b61215a8187612876565b505050505050506004805460ff191690555050565b60045460ff16156121925760405162461bcd60e51b81526004016104699061312b565b6004805460ff191660011781556040516370a0823160e01b8152339181019190915283906001600160a01b038616906370a0823190602401602060405180830381865afa1580156121e5573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906122099190612eb1565b10156122275760405162461bcd60e51b815260040161046990613162565b6001600160a01b0384165f9081526003602052604090205460ff16156123c75761225c6001600160a01b038516333086612726565b5f6127106001548561226e91906131fd565b6122789190613214565b905061228481846128ae565b5f61228f82866130fd565b6040516318cbafe560e01b81529091505f905f805160206132ee833981519152906318cbafe5906122cc90859085908a9030904290600401613233565b5f604051808303815f875af11580156122e7573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261230e9190810190613058565b90505f816001835161232091906130fd565b8151811061233057612330612ec8565b602002602001015190505f805160206132ee8339815191526001600160a01b0316637ff36ab5825f8833426040518663ffffffff1660e01b815260040161237a949392919061326e565b5f6040518083038185885af1158015612395573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f191682016040526123bd9190810190613058565b5050505050611e81565b6123dc6001600160a01b038516333086612726565b5f612710600154856123ee91906131fd565b6123f89190613214565b905061240481846128ae565b5f61240f82866130fd565b6040516318cbafe560e01b81529091505f905f805160206132ee833981519152906318cbafe59061244c90859085908a9030904290600401613233565b5f604051808303815f875af1158015612467573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261248e9190810190613058565b90505f81600183516124a091906130fd565b815181106124b0576124b0612ec8565b602002602001015190505f805160206132ee8339815191526001600160a01b0316637ff36ab5825f8833426040518663ffffffff1660e01b81526004016124fa949392919061326e565b5f6040518083038185885af1158015612515573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f1916820160405261215a9190810190613058565b60045460ff16156125605760405162461bcd60e51b81526004016104699061312b565b6004805460ff191660011790556001600160a01b038416612607573482111561259b5760405162461bcd60e51b815260040161046990612fc6565b5f612710600154346125ad91906131fd565b6125b79190613214565b6002546040519192506001600160a01b03169082156108fc029083905f818181858888f193505050501580156125ef573d5f803e3d5ffd5b505f6125fb82346130fd565b9050611f5b8184612935565b6040516370a0823160e01b815233600482015282906001600160a01b038616906370a0823190602401602060405180830381865afa15801561264b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061266f9190612eb1565b101561268d5760405162461bcd60e51b815260040161046990613162565b6126a26001600160a01b038516333085612726565b5f612710600154846126b491906131fd565b6126be9190613214565b90506126ca81836128ae565b5f6126d582856130fd565b90506001600160a01b0385166126f4576126ef81846129b0565b6126fe565b6126fe81846129e8565b505050506004805460ff191690555050565b606061271e84845f85612a20565b949350505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610df99085906323b872dd60e01b9060840161118f565b60025460405163791ac94760e01b81525f805160206132ee8339815191529163791ac947916127a39186915f9187916001600160a01b03909116904290600401613233565b5f604051808303815f87803b1580156127ba575f80fd5b505af11580156127cc573d5f803e3d5ffd5b505050505050565b60405163b6f9de9560e01b81525f805160206132ee8339815191529063b6f9de9590849061280c905f9086903390429060040161326e565b5f604051808303818588803b158015612823575f80fd5b505af1158015612835573d5f803e3d5ffd5b50505050505050565b60405163791ac94760e01b81525f805160206132ee8339815191529063791ac947906127a39085905f90869033904290600401613233565b604051635c11d79560e01b81525f805160206132ee83398151915290635c11d795906127a39085905f90869033904290600401613233565b6002546040516318cbafe560e01b81525f805160206132ee833981519152916318cbafe5916128f39186915f9187916001600160a01b03909116904290600401613233565b5f604051808303815f875af115801561290e573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610c5f9190810190613058565b604051637ff36ab560e01b81525f805160206132ee83398151915290637ff36ab590849061296d905f9086903390429060040161326e565b5f6040518083038185885af1158015612988573d5f803e3d5ffd5b50505050506040513d5f823e601f3d908101601f19168201604052610c5f9190810190613058565b6040516318cbafe560e01b81525f805160206132ee833981519152906318cbafe5906128f39085905f90869033904290600401613233565b6040516338ed173960e01b81525f805160206132ee833981519152906338ed1739906128f39085905f90869033904290600401613233565b6060612a2b85612b0f565b612a775760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610469565b5f80866001600160a01b03168587604051612a9291906132a2565b5f6040518083038185875af1925050503d805f8114612acc576040519150601f19603f3d011682016040523d82523d5f602084013e612ad1565b606091505b50915091508115612ae557915061271e9050565b805115612af55780518082602001fd5b8360405162461bcd60e51b815260040161046991906132b8565b5f813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081811480159061271e575050151592915050565b6001600160a01b03811681146109cb575f80fd5b5f60208284031215612b6b575f80fd5b8135612b7681612b47565b9392505050565b5f8060408385031215612b8e575f80fd5b8235612b9981612b47565b91506020830135612ba981612b47565b809150509250929050565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f1916810167ffffffffffffffff81118282101715612bf157612bf1612bb4565b604052919050565b5f67ffffffffffffffff821115612c1257612c12612bb4565b5060051b60200190565b5f82601f830112612c2b575f80fd5b8135612c3e612c3982612bf9565b612bc8565b8082825260208201915060208360051b860101925085831115612c5f575f80fd5b602085015b83811015612c85578035612c7781612b47565b835260209283019201612c64565b5095945050505050565b5f60208284031215612c9f575f80fd5b813567ffffffffffffffff811115612cb5575f80fd5b61271e84828501612c1c565b5f60208284031215612cd1575f80fd5b5035919050565b5f8060408385031215612ce9575f80fd5b8235612cf481612b47565b946020939093013593505050565b5f8060408385031215612d13575f80fd5b823567ffffffffffffffff811115612d29575f80fd5b612d3585828601612c1c565b925050602083013567ffffffffffffffff811115612d51575f80fd5b8301601f81018513612d61575f80fd5b8035612d6f612c3982612bf9565b8082825260208201915060208360051b850101925087831115612d90575f80fd5b6020840193505b82841015612db2578335825260209384019390910190612d97565b809450505050509250929050565b80151581146109cb575f80fd5b5f805f8060808587031215612de0575f80fd5b8435612deb81612b47565b93506020850135612dfb81612b47565b9250604085013591506060850135612e1281612dc0565b939692955090935050565b5f8060408385031215612e2e575f80fd5b82359150602083013567ffffffffffffffff811115612e4b575f80fd5b612e5785828601612c1c565b9150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215612ea6575f80fd5b8151612b7681612b47565b5f60208284031215612ec1575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b60208082526030908201527f53574150415745424f3a2041646472657373206d75737420626520646966666560408201526f72656e74207468616e206265666f726560801b606082015260800190565b6020808252602d908201527f53574150415745424f3a20416464726573732063616e6e6f742062652074686560408201526c207a65726f206164647265737360981b606082015260800190565b6020808252602d908201527f53574150415745424f3a20416464726573732063616e6e6f742062652074686560408201526c2064656164206164647265737360981b606082015260800190565b6020808252601b908201527f53574150415745424f3a20496e73756666696369656e74204554480000000000604082015260600190565b5f8151808452602084019350602083015f5b828110156130365781516001600160a01b031686526020958601959091019060010161300f565b5093949350505050565b828152604060208201525f61271e6040830184612ffd565b5f60208284031215613068575f80fd5b815167ffffffffffffffff81111561307e575f80fd5b8201601f8101841361308e575f80fd5b805161309c612c3982612bf9565b8082825260208201915060208360051b8501019250868311156130bd575f80fd5b6020840193505b828410156130df5783518252602093840193909101906130c4565b9695505050505050565b634e487b7160e01b5f52601160045260245ffd5b81810381811115610517576105176130e9565b5f60208284031215613120575f80fd5b8151612b7681612dc0565b60208082526019908201527f53574150415745424f3a207265656e7472616e742063616c6c00000000000000604082015260600190565b60208082526025908201527f53574150415745424f3a20496e73756666696369656e7420546f6b656e2042616040820152646c616e636560d81b606082015260800190565b60208082526036908201527f53574150415745424f3a20556e657870656374656420636f6e646974696f6e3a604082015275081d1bdad95b949958d95a5d9959081a5b9d985b1a5960521b606082015260800190565b8082028115828204841417610517576105176130e9565b5f8261322e57634e487b7160e01b5f52601260045260245ffd5b500490565b85815284602082015260a060408201525f61325160a0830186612ffd565b6001600160a01b0394909416606083015250608001529392505050565b848152608060208201525f6132866080830186612ffd565b6001600160a01b03949094166040830152506060015292915050565b5f82518060208501845e5f920191825250919050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f8301168401019150509291505056fe0000000000000000000000004752ba5dbc23f44d87826276bf6fd6b1c372ad24a2646970667358221220b96c2b25f657da9fa1df47bb0b66d4f7aa9291965e0f6ecf9228d3af861c473a64736f6c634300081a003353574150415745424f3a20416464726573732063616e6e6f7420626520746865