  #include <string>
  
  #include "selfdrive/common/clutil.h"
  #include "selfdrive/common/timing.h"
  
  //#define RUN_DISASSEMBLER
  //#define RUN_OPTIMIZER
  
  Thneed *g_thneed = NULL;
  int g_fd = -1;
 
</s> remove #include <sstream>
 </s> add  </s> remove inline void sleep_for(const int milliseconds) {
  std::this_thread::sleep_for(std::chrono::milliseconds(milliseconds));
 </s> add std::string hexdump(const uint8_t* in, const size_t size); </s> remove std::string tohex(const uint8_t *buf, size_t buf_size) {
  std::unique_ptr<char[]> hexbuf(new char[buf_size * 2 + 1]);
  for (size_t i = 0; i < buf_size; i++) {
    sprintf(&hexbuf[i * 2], "%02x", buf[i]);
 </s> add std::string hexdump(const uint8_t* in, const size_t size) {
  std::stringstream ss;
  ss << std::hex << std::setfill('0');
  for (size_t i = 0; i < size; i++) {
    ss << std::setw(2) << static_cast<unsigned int>(in[i]); </s> remove           hexdump((uint32_t *)prop->value, prop->sizebytes);
 </s> add           hexdump((uint8_t *)prop->value, prop->sizebytes); </s> remove void hexdump(uint32_t *d, int len) {
 </s> add void hexdump(uint8_t *d, int len) {
#include "selfdrive/common/util.h"
  #include <string>
  
  #include "selfdrive/common/clutil.h"
  #include "selfdrive/common/timing.h"
#include "selfdrive/common/util.h"
  //#define RUN_DISASSEMBLER
  //#define RUN_OPTIMIZER
  
  Thneed *g_thneed = NULL;
  int g_fd = -1;
keep keep keep keep replace keep keep keep keep keep
 util: remove function to_hex (#22792) 
selfdrive/modeld/thneed/thneed.cc