  
    void localizer_handle_msg_bytes(Localizer *localizer, const char *data, size_t size) {
      localizer->handle_msg_bytes(data, size);
    }
  }
 
</s>
  void get_filter_internals(Localizer *localizer, double *state_buff, double *std_buff){
    Eigen::VectorXd state = localizer->get_state();
    memcpy(state_buff, state.data(), sizeof(double) * state.size());
    Eigen::VectorXd stdev = localizer->get_stdev();
    memcpy(std_buff, stdev.data(), sizeof(double) * stdev.size());
  }

  
    void localizer_handle_msg_bytes(Localizer *localizer, const char *data, size_t size) {
      localizer->handle_msg_bytes(data, size);
    }
  void get_filter_internals(Localizer *localizer, double *state_buff, double *std_buff){
    Eigen::VectorXd state = localizer->get_state();
    memcpy(state_buff, state.data(), sizeof(double) * state.size());
    Eigen::VectorXd stdev = localizer->get_stdev();
    memcpy(std_buff, stdev.data(), sizeof(double) * stdev.size());
  }

  }
keep keep keep add keep
 expose filter internal states and stds (#22564)
selfdrive/locationd/liblocationd.cc