Predictive Maintenance: Latest Trends, Deployment Challenges and Future Directions