code: def labels(self) -> Set[TransitionLabel]:
          
          labels = set()  # type: Set[TransitionLabel]
          if self.state1 is not None and self.fixed != 1:
              labels.update(self.state1.keys())
          if self.state2 is not None and self.fixed != 2:
              labels.update(self.state2.keys())
          if self.fixed != 0:
              if self.fixed == 1 and self.state2 is None:
                  labels.add(OPERATION_END)
              elif self.fixed == 2 and self.state1 is None:
                  labels.add(OPERATION_END)
              labels.add(Wildcard)
          return labels
docs: Return the set of transition labels to examine for this queue state.
  
          This is the union of the transition label sets for both states.
          However, if one of the states is fixed, it is excluded from this union and a wildcard transition is included
          instead. Also, when already in a failed state (one of the states is ``None``), the :const:`OPERATION_END` is
          also included.