docs: def on_decks(self, *args):
          """Inform the cards of their deck and their index within the deck;
          extend the ``_hint_offsets`` properties as needed; and trigger
          a layout.
  
          """
          if None in (
                  self.canvas,
                  self.decks,
                  self.deck_x_hint_offsets,
                  self.deck_y_hint_offsets
          ):
              Clock.schedule_once(self.on_decks, 0)
              return
          self.clear_widgets()
          decknum = 0
          for deck in self.decks:
              cardnum = 0
              for card in deck:
                  if not isinstance(card, Card):
                      raise TypeError("You must only put Card in decks")
                  if card not in self.children:
                      self.add_widget(card)
                  if card.deck != decknum:
                      card.deck = decknum
                  if card.idx != cardnum:
                      card.idx = cardnum
                  cardnum += 1
              decknum += 1
          if len(self.deck_x_hint_offsets) < len(self.decks):
              self.deck_x_hint_offsets = list(self.deck_x_hint_offsets) + [0] * (
                  len(self.decks) - len(self.deck_x_hint_offsets)
              )
          if len(self.deck_y_hint_offsets) < len(self.decks):
              self.deck_y_hint_offsets = list(self.deck_y_hint_offsets) + [0] * (
                  len(self.decks) - len(self.deck_y_hint_offsets)
              )
          self._trigger_layout()