What is the difference between output and h_n in LSTM?

I’m new to deep learning and have gone into learning LSTMs. But, reading the code, I have just found out that LSTMs return output and h_n, but, from as far as I knew h_n is the output:
What am I missing?
Image source: Understanding LSTM Networks -- colah's blog

I also recently studying LSTM. Here is the full picture of LSTM!

So, The output of LSTM is just some random weight matrix multiply with hidden state h_n.

I hope this help