    bool is_timestamp_valid(double current_time);
    void determine_gps_mode(double current_time);
  
    kj::ArrayPtr<capnp::byte> get_message_bytes(MessageBuilder& msg_builder,
      bool inputsOK, bool sensorsOK, bool gpsOK, bool msgValid);
    void build_live_location(cereal::LiveLocationKalman::Builder& fix);
  
    Eigen::VectorXd get_position_geodetic();
 
</s> remove   bool isGpsOK();
 </s> add   bool is_gps_ok();
  bool critical_services_valid(std::map<std::string, double> critical_services);
  bool is_timestamp_valid(double current_time); </s> remove       bool inputsOK = sm.allAliveAndValid();
      bool gpsOK = this->isGpsOK();
 </s> add       bool inputsOK = sm.allAliveAndValid() && this->are_inputs_ok();
      bool gpsOK = this->is_gps_ok(); </s> remove bool Localizer::isGpsOK() {
 </s> add bool Localizer::is_gps_ok() {
  bool are_inputs_ok();
  void observation_timings_invalid_reset();
    bool is_timestamp_valid(double current_time);
    void determine_gps_mode(double current_time);
  bool are_inputs_ok();
  void observation_timings_invalid_reset();
  
    kj::ArrayPtr<capnp::byte> get_message_bytes(MessageBuilder& msg_builder,
      bool inputsOK, bool sensorsOK, bool gpsOK, bool msgValid);
    void build_live_location(cereal::LiveLocationKalman::Builder& fix);
  
    Eigen::VectorXd get_position_geodetic();
keep add keep keep keep keep keep keep
 [locationd] Add input checks (#26460)

* add input checks with same decay as reset_tracker

* add observation timings check

* typo

* bugfix

* improve offline locationd visibility

* sbugfix offline lld

Co-authored-by: Adeeb Shihadeh <adeebshihadeh@gmail.com> 
selfdrive/locationd/locationd.h