code: def forward(self, inputs, hidden):
      hx, cx = hidden[0].squeeze(0), hidden[1].squeeze(0)
  
      ifo_gates = (
          torch.matmul(inputs, self.weight_ii.t())
          + self.bias_ii
          + torch.matmul(hx, self.weight_ih.t())
          + self.bias_ih
          + torch.matmul(cx, self.weight_ic.t())
          + self.bias_ic
      )
      ingate, forgetgate, outgate = ifo_gates.chunk(3, 1)
  
      cellgate = torch.matmul(hx, self.weight_hh.t()) + self.bias_hh
  
      ingate = torch.sigmoid(ingate)
      forgetgate = torch.sigmoid(forgetgate)
      cellgate = torch.tanh(cellgate)
      outgate = torch.sigmoid(outgate)
  
      cy = (forgetgate * cx) + (ingate * cellgate)
      ry = torch.tanh(cy)
  
      if self.input_size == self.hidden_size:
          hy = outgate * (ry + inputs)
      else:
          hy = outgate * (ry + torch.matmul(inputs, self.weight_ir.t()))
      return hy, (hy, cy)
  
imports: from typing import List, Optional
  import torch
  import torch.nn
  from ..losses.pytorch import MAE
  from ..common._base_recurrent import BaseRecurrent
  from ..common._modules import MLP
label_desc: Use image node_id 2 for calling the ResLSTMCell obj's underlying member method code with example usage: obj.forward(inputs, hidden) and returns: hy,  hy,  cy